Formularausgabe spinnt komplett oder ich bin zu unfähig!?
Katerle
- asp.net
Hallo,
sorry, dass ich schon wieder poste aber ich weiß mir nicht mehr anders zu helfen, habe schon viele Hilfeseiten durchgelesen halb aspheute.com auf den Kopf gestell und die Archive durch gesucht und noch nicht über mein neues Problem gefunden.
Habe 2 Selectboxen, die mit daten aus der MS SQL-Serverdaten bank gefüllt werden. das erst sofort(mit den verfügbaren Servern) und das zweite soll dann aufgrund der Daten im ersten, die zweite box mit shares füllen, die auf dem als erstes Ausgewählten Server vorhanden sind! Das habe ich jetzt nach langem hinbekommen :-) *freu* Danke Stefan Bechthold! (na nicht ganz!)
Mein Problem ist, des er die zweite box nur mit einem eintrag füllt und den rest obendrüber ausgibt. Das ist natürlich nicht dass was ich will denn dann soll mann sich einen share auswählen können und weitere Angaben dazu machen können und das geht noch nicht.
so hier mal der abschnitt der net geht!
<%
Response.Write("<table boder=""0"">")
Response.Write("<tr>")
Response.Write("<td>")
Response.Write(" Share: ")
set Conn = CreateObject("ADODB.Connection") 'create Server Database Connection Object
set RS = CreateObject("ADODB.Recordset") 'create RecordSet Conn Obj
ConnStr="Provider=MSDASQL;Driver={SQL Server};SERVER="& Application("Server") &";UID="& Application("User") &";PWD="& Application("PassWord") &";DATABASE="&Application("DataBase")
Conn.open ConnStr ' select the shares of the Shareadmin
sql = "SELECT *, AllShares.sharename AS share, AllShares.Server AS svr " & _
"FROM AllShares WHERE (Server = '" & server& "')"
RS.Open sql, Conn
'
Response.Write("<select name=""share"" onChange=""nppara()"">")
Response.Write("<option value=""empty""> </option>")
while not RS.EOF ' lists all shares and creates links
If shareName = Trim(RS("sharename")) Then
Response.Write("<option value="& RS("sharename")& " selected>")
Else
Response.Write("<option value="& RS("sharename")& ">")
End If
Response.Write Trim(RS("sharename"))
Response.Write("</A></td>")
RS.MoveNext
Wend
Response.Write("</option>")
Response.Write("</select>")
Response.Write("<br>")
%>
irgentwo muss ich doch angeben können, dass er den kompletten inhalt in die oder das value schreibt!
vielen dank schonmal
Katerle
Hallo Katerle!
Mein Problem ist, des er die zweite box nur mit einem eintrag füllt und den rest obendrüber ausgibt. Das ist natürlich nicht dass was ich will denn dann soll mann sich einen share auswählen können und weitere Angaben dazu machen können und das geht noch nicht.
Response.Write("<select name=""share"" onChange=""nppara()"">")
Response.Write("<option value=""empty""> </option>")
Das sollte ja der erste Eintrag sein, also ein leeres Feld.
while not RS.EOF ' lists all shares and creates links
If shareName = Trim(RS("sharename")) Then
Response.Write("<option value="& RS("sharename")& " selected>")
[...]
Response.Write("</option>")
Response.Write("</select>")
irgentwo muss ich doch angeben können, dass er den kompletten inhalt in die oder das value schreibt!
Ich kann ja kein ASP, aber eigentlich steht der angezeigte Text soweit ich weiß zwischen dem öffnenden und dem schließenden option-Element (http://selfhtml.teamone.de/html/formulare/auswahl.htm).
Also sollte
Response.Write("<option value="& RS("sharename")& " selected>& RS("sharename")& ")
vielleicht das ausgeben, was du willst. (wie gesagt, kann kein ASP.)
Ansonsten zeige mal, wie der ausgegebene Code denn aussieht.
MfG
Götz
Hallo Götz
erstmal danke, dass du mir schon wieder hilfst!! *freu*
Response.Write("<select name=""share"" onChange=""nppara()"">")
Response.Write("<option value=""empty""> </option>")
Das sollte ja der erste Eintrag sein, also ein leeres Feld.
Ja das mache ich fals keine shares vorhanden sind, dass mir die Box nicht zusammenschrumpft. nicht gut gelöst??
Ansonsten zeige mal, wie der ausgegebene Code denn aussieht.
<!-- Share //-->
<table boder="0"><tr><td> Share: <select name="share" onChange="nppara()"><option value="empty"> </option><option value=WAG_Test >WAG_Test</A></td><option value=Tor >Tor</A></td><option value=AGL_Meeting >AGL_Meeting</A></td><option value=AGL_Meeting2>AGL_Meeting2</A></td><option value=Joerg >Joerg</A></td><option value=Alcohol >Alcohol</A></td><option value=Elo >Elo</A></td><option value=ITECS >ITECS</A></td><option value=New >New</A></td><option value=IT >IT</A></td><option value=IT1 >IT1</A></td><option value=Asdrubal >Asdrubal</A></td><option value=it2 >it2</A></td><option value=Permission >Permission</A></td><option value=test1 >test1</A></td></option></select><br>
liebe grüße katerle
Hallo Katerle!
Ansonsten zeige mal, wie der ausgegebene Code denn aussieht.
[...]
Deinen Code mußte ich erstmal übersichtlich machen (ich sollte doch mal wieder Tidy installieren ...):
<!-- Share //-->
<table boder="0">
<tr>
<td> Share:
<select name="share" onChange="nppara()">
<option value="empty"> </option>
<option value=WAG_Test >WAG_Test</A></td>
<option value=Tor >Tor</A></td>
[...]
</option>
</select>
So, was fällt uns auf?
Es ist genau so, wie MudGuard und ich bereits sagten.
Modifiziere deinen ASP-Code so, daß er folgendes ausgibt:
<select name="share" onChange="nppara()">
<option value="empty"> </option>
<option value="WAG_Test">WAG_Test</option>
<option value="Tor">Tor</option>
[...]
</select>
Dann sollte es so sein, wie Du es möchtest.
Wenn value aber sowieso den gleichen Wert hat wie das, was zwischen option steht brauchst Du evtl. gar keinen value, aber da bin ich mir grad nicht sicher, das kannst in Selfhtml nachlesen, Link hatte ich ja vorher schon gepostet.
MfG
Götz
Hallo ihr beiden!
Danke jetzt habe ich es auch gerafft was für ein sch*** ich da verzapft habe, obwohl ihr es mir zwei mal gesagt habt bin ich nicht drauf gekommen (Brett vor dem Kopf?) *g*
Na danke nochmal
Katerle
Hallo Katerle!
Danke jetzt habe ich es auch gerafft was für ein sch*** ich da verzapft habe, obwohl ihr es mir zwei mal gesagt habt bin ich nicht drauf gekommen (Brett vor dem Kopf?) *g*
Tja, so kanns gehen :)
Aber merk Dir einfach für die Zukunft:
Übersichtlicher Code spart viel Zeit.
Hättest du Deinen HTML-Code gleich eingerückt ausgegeben und angeschaut, wärs Dir wohl auch sofort aufgefallen.
Ich hab ja in meiner Antwort Tidy angepsprochen, das ist ein Programm, das HTML Code "aufräumt" (also übersichtlicher formatiert, einrückt usw. aber auch auf Korrektheit prüft).
Du kannst es Dir ja mal anschauen: http://tidy.sourceforge.net/.
MfG
Götz
Hi,
Wenn value aber sowieso den gleichen Wert hat wie das, was zwischen option steht brauchst Du evtl. gar keinen value, aber da bin ich mir grad nicht sicher, das kannst in Selfhtml nachlesen, Link hatte ich ja vorher schon gepostet.
Default-Wert für das value-Attribut des option-Elements ist der Inhalt des option-Elements.
cu,
Andreas
Hi,
Response.Write("<select name=""share"" onChange=""nppara()"">")
Response.Write("<option value=""empty""> </option>")
Response.Write("<option value="& RS("sharename")& " selected>")
Response.Write("<option value="& RS("sharename")& ">")
Was soll jetzt das hier:
Response.Write Trim(RS("sharename"))
Response.Write("</A></td>")
mitten in der option?
Response.Write("</option>")
Response.Write("</select>")
cu,
Andreas
Hallo!
Was ist daran falsch? Bei meinen mersten Programm habe ich es ganau so gemacht und es hat funktioniert!
mfg Katerle
Hallo Katerle!
Was ist daran falsch? Bei meinen mersten Programm habe ich es ganau so gemacht und es hat funktioniert!
Naja, ein a und td usw. haben da eigentlich nix verloren, wenn ich das Script richtig versteh stehen die nämlich nach <option> und vor </option>.
Es wäre imho wirklich sinnvoll, wenn du auch mal die Ausgabe bzw. den relevanten Teil der Ausgabe irgendwo postest oder online stellst.
MfG
Götz
Hi,
Was ist daran falsch? Bei meinen mersten Programm habe ich es ganau so gemacht und es hat funktioniert!
1. Du schließt Elemente, die nicht geöffnet wurden.
2. Selbst wenn sie geöffnet worden wären: innerhalb von option hat weder a noch td noch sonst ein Element etwas verloren.
cu,
Andreas