# Drop Down sofort in JSP auswerten



## Bowser (12. Aug 2008)

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:


```
<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 (12. Aug 2008)

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


----------



## Bowser (12. Aug 2008)

Ich kenne mich nicht so gut aus, hast du dafür evtl. ein Beispiel (Code)?
Vielen Dank


----------



## byte (12. Aug 2008)

http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onchange


----------



## Bowser (12. Aug 2008)

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 (12. Aug 2008)

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


----------



## Bowser (12. Aug 2008)

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


----------



## byte (12. Aug 2008)

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 (12. Aug 2008)

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


----------



## Bowser (12. Aug 2008)

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

Mein Formular:


```
<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

```
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 (12. Aug 2008)

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.


----------



## Bowser (12. Aug 2008)

Schade, dachte ich könnte hier hilfe bekommen


----------



## byte (12. Aug 2008)

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


----------



## Bowser (12. Aug 2008)

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 (12. Aug 2008)

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 (12. Aug 2008)

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 (12. Aug 2008)

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.


----------



## Guest (12. Aug 2008)

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.


----------

