Drop Down sofort in JSP auswerten

Status
Nicht offen für weitere Antworten.

Bowser

Mitglied
Hallo Leute!
Ich habe ein Problem. Ich habe in einer JSP Ein Drop Down Menü angelegt.
Nun soll, sobald ein user einen Wert des Drop Down Menüs ausgewählt hat, diese Auswahl in einer Variablen gespeichert werden. Das Problem hierbei ist, dass der User nicht zusätzlich einen Button drücken soll.
Das Drop Down ist sehr Simpel:

Code:
<select name="StateList">
<option value="1"> </option>
<option value="2">Eins</option>
<option value="3">Zwei</option>
</select>

Wählt der User bspsweise den dritten eintrag soll eine String Variable diesen Wert erhalten.

Gibt es eine Möglichkeit das zu realisieren?

Vielen Dank für Eure Hilfe!!!
 

byte

Top Contributor
Du kannst mittels JavaScript auf das onchange Event reagieren und ein Submit machen.
 

Bowser

Mitglied
Hiho,

danke für den Link.
Hier wird dann ja leider nur ein neues Alert Fenster geöffnet.
Kann ich im JS Teil eine Variable deklarieren, auf die ich später auch Zugriff in der JSP habe?
 

byte

Top Contributor
Du kannst dort die Form submitten (NameDerForm.submit()) und dann den Wert des Drop Down Menüs im Servlet auswerten.
 

Bowser

Mitglied
Aber ist es nicht so, wenn ich das über submit mache, dass der User dann einen Button drücken muss?
 

byte

Top Contributor
Mit reinem HTML kann man das Submit einer Form nur über einen Submit-Button innerhalb der Form machen. Mit Java-Script kannst Du das aber wie gesagt über ein Event triggern.
In dem von mir beschriebenen Fall würde das Submit der Form kommen, wenn man einen Wert in der Drop Down Liste auswählt.
 

Bowser

Mitglied
Achso okay.
Ich werde das umgehend testen und dich eventuell nochmal anpsrechen, falls es nicht so easy ist :)
Vielen Dank aber trotzdem schonmal!!
 

Bowser

Mitglied
Hab es mal getestet aber es klappt nicht. Siehst du den Fehler?

Mein Formular:

Code:
<form name="formu">
<select onchange="showIt()" name="samples" size="3" >
<option value="1">Liste1</option>
<option value="2">Liste2</option>
<option value="3">Liste3</option>
</select>

</form>
<%
	out.write("My var: "+a);
%>

und der JS Teil
Code:
function showIt() {
	
	document.formu.submit();
	a = document.formu.value();
	
}

Hoffe, das ist leicht zu lösen und von mir nicht zu blöde gedacht!

Vielen Dank!
 

byte

Top Contributor
Sorry, aber das ist totaler Blödsinn.

Offenbar fehlen Dir grundlegende Kenntnisse über HTML/JSP/Servlets/JS. Die solltest Du Dir erstmal anlernen. Ich kann hier schlecht alles erklären. Dafür fehlt mir Zeit und Anreiz.
 

byte

Top Contributor
Die Lösung zu Deinem Problem steht längst in diesem Thread, aber Dir fehlen die Grundlagen, um diese umzusetzen.
 

Bowser

Mitglied
Wieso? Ich dachte über die JS Funktion wird die Form submitted, dadurch also auch der ausgewählte Wert des Benutzers übertragen.
Dieser Wert soll in eine Variable übertragen werden.
Und das ganze Formular darf ja nicht wirklich übergeben werden, dies soll der Benutzer später über einen Button machen. Ziel ist es ja, den ausgewählten Wert, direkt nach der Auswahl in einer String Variablen zu speichern.
Diese soll später den Inhalt übergeben
 

byte

Top Contributor
Du mixt jetzt willt JS und Java-Code. So klappt das nicht.

Wenn du onchange das Submit machst, kannst Du im Servlet die Selektion der Drop Down Liste auslesen und damit anstellen, was Du willst.

Wenn es Dir nur darum geht, die aktuelle Selektion irgendwo auf der Seite anzuzeigen, dann kannst Du das natürlich mit JS machen. Dann kannst Du aber nicht einfach die JS-Variable per Scriptlet verarbeiten.
 

Bowser

Mitglied
Genau das ist ja mein problem.
Der User soll den Inhalt aus der Liste auswählen und im JAVA Code innerhalb der JSP, die auch das Drop Down enthält, soll der ausgwählte Wert als String variable weiter verarbeitet werden.
Dabei soll der User dann eben keinen Button drücken müssen. Sonst könnte das formular ja einfach in einer anderen Page per request ausgelesen werden...
 

byte

Top Contributor
Noch ein allerletztes Mal: Du musst dafür die Form submitten! Das geht nur mit JS ohne Submit-Button (s. oben).

Nur dadurch wird der Inhalt der Form per Request ans Servlet übertragen. Du kannst dann im Servlet den Wert in den Response schreiben und auf die gleiche Seite forwarden. Dort hast Du den Wert dann "in Java" verfügbar.
 
G

Guest

Gast
Du solltest dir mal den grundlegenden Unterschied von JavaScript (was im Browser des Benutzers läuft )und JSP (was auf dem Server läuft) klar machen.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben