|
|
Text eines Select/Option Tags abfragen
Studdi21, 22.12.2009 18:23:18
Hallo zusammen,
ich habe ein Formular mit mehreren Auswahlfeldern deren Inhalt aus Tabellenspalten einer Datenbank dynamisch erzeugt wird. Wenn ich nun mit "request.getParameter("select_name")" das selektierte Feld abfragen will, erhalte ich statt dem Text zwischen dem öffnenden und schließenden Option-Tag, den value-Namen, also z.B. gibt folgendes Formular
<form>
<select name="select_name">
<option value="0">a</option>
<option value="1">b</option>
<input type="submit name="submit">
bei der Parameterabfrage nicht a und b zurück, sondern 0 und 1.
Ohne das Value-Attribut klappt es zwar aber ich kann darauf nicht verzichten, weil ich diesen Wert brauche um den aktuelle Feld bei jedem Submit zu speichern.
Gibt es eine einfache Lösung für dieses Problem oder muß komme ich an JavaScript nicht vorbei?
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: Text eines Select/Option Tags abfragen
jann, 22.12.2009 19:00:29
Hi studdi21,
ich löse das Problem bei mir so, indem ich den Wert von value gleich dem Text setze. Also so:
<form>
<select name="select_name">
<option value="a">a</option>
<option value="b">b</option>
</select>
<input type="submit" name="submit">
</form>
Grüße, Jann
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: Text eines Select/Option Tags abfragen
Studdi21, 22.12.2009 19:23:40
Hallo jann,
danke erstmal für die Antwort. Das wäre die naheliegendste Lösung an die ich bereits gedacht hab. Mein Problem ist aber etwas komplizierter. Wie ich bereits erwähnt habe, wird die option-liste dynamisch generiert. Den Wert des Value-Attributs übergebe ich an eine in JSP deklarierte Methode um bei jeder erneuten Anfrage den ursprünglichen Wert zu speichern. Das ganze sieht folgendermaßen aus:
<%!
public String isSelected(HttpServletRequest request, String param, String testValue){
return (requestContains(request, param, testValue))? "selected" : "";
}
%>
<td><select style="width:150px" id="piliste" name="piliste">
<option>Bitte auswählen</option>
<%
i = 1;
Iterator iter = ProgramData.printServiceNames();
while (iter.hasNext()) {
%>
<option value="<%="val"+i %>" <%=isSelected(request,"piliste","val"+i)%>>
<%=iter.next()%></option>
<%i++;}%>
</td>
Leider kann ich dem dritten Parameter der Methode isSelected() keinen dynamischen Wert (z.B.<%=iter.next()%>) zuweisen, so dass ich gezwungen bin auf einen anderen (konstanten) Wert zurückzugreifen.
Gruß
Mario
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Legende: Anonymer User registrierter User sehr aktiver User
|
|
Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir
betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten
haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf
dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer
Homepage angebrachten Links
Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig-
und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes.
Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen
obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung
einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung
bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.
Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries.
IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation.
Other trademarks and registered trademarks are the property of their respective owners.
|
|
|
|