# Variable übergeben beim onchange-Event



## Flens (7. November 2003)

Hallo!

Möchte über ein OnChange Ereignis eine andere Seite laden und dieser den Wert aus der Listbox übergeben.


```
<?php echo " <select name=\"tanknummer\" onChange=\"window.parent['iframe'].location='demochart.php?Datum=".$Datum."&LevelID=".$LevelID."&TankNr=".($_POST['tanknummer'])."';\">"; ?>
```


Der Aufruf bei Onchange funktioniert, die Variablen werden auch übergeben, aber die "tanknummer" kann ich nicht aus der Listbox bei Onchange auslesen.

Gibt es da ne Möglichkeit, den ausgewählten Eintrag gleich als Variable mit zu übergeben?


Flens


----------



## Saber (7. November 2003)

Mit 

```
this.options[this.selectedIndex].value
```
solltest Du eigentlich den aktuellen Wert Deiner SELECT-Box auslesen können.

Das ganze sieht dann quasi so aus:

```
?><select name="tanknummer" onChange="window.parent['iframe'].location='demochart.php?Datum=<? echo $Datum; ?>&LevelID=<? echo $LevelID; ?>&TankNr=' + this.options[this.selectedIndex].value;"><?
```

Habs aber noch nicht getestet. Ist aus dem Stegreif, also möglicherweise muss man noch ein bisschen rumbasteln dran.


----------



## Flens (10. November 2003)

Sorry, aber irgendwie funktioniert das bei mir so nicht!

Habt ihr dafür vielleicht noch ne andere Lösung?
An die Variable "TankNr" komme ich einfach nicht ran!


----------



## Saber (10. November 2003)

Hallo nochmals!

War vielleicht mein Fehler, aber Du must bei den Select Options einen Value setzen. Darin muss dann die TankNr enthalten sein.

HTML Beispiel:

```
<select name="tanknummer" onChange="window.parent['iframe'].location='demochart.php?TankNr=' + this.options[this.selectedIndex].value;">
   <option value="T1">Tank 1</option>
   <option value="T2">Tank 2</option>
   <option value="T3">Tank 3</option>
   <option value="T4">Tank 4</option>
   <option value="T5">Tank 5</option>
</select>
```

T1 - T5 würden dann praktisch als Deine Tanknummern übergeben werden. Es handelt sich aber hier ja eigentlich nicht um ein PHP Problem, sondern eigentlich um ein JavaScript Problem. Vielleicht solltest Du das nochmals in einem JS-Forum posten.

Da ich aber in JavaScript auch nicht so bewandelt bin übernehme ich auch keine Garantie für den Source Code da oben.


----------



## Flens (10. November 2003)

Danke!

Das funktioniert wunderbar so mit "Value"!


----------



## Flens (13. November 2003)

Hallo!

Hatten gestern schonmal die Frage gestellt, aber heute war der Beitrag weg :-(

Möchte den ausgewählten Eintrag aus der Listbox in einen Link einbauen.

Hab mir das so gedacht:



```
<a href="javascript:confirmDeleteId(<?php echo "$LevelID" ?>,<?php echo "+ this.options[this.selectedIndex].value)";?>">Delete</a></p>
```

Die Variable $LevelID ist auch vorhanden, nur bekomme ich nicht den Wert aus der Listbox in den Link gebastelt.


----------



## Saber (13. November 2003)

Tja, und ich hab gestern eigentlich auch schon mal geantwortet ... also dann nochmal:

Versuchs mal mit diesem Eintrag bei SelfHTML, das sollte eigentlich genau das sein was Du haben willst.

Du musst halt quasi einen SELECT-Tag verwenden, keine A-Tag.


----------



## Flens (13. November 2003)

Vielleicht hab ich mich etwas falsch ausgedrückt.
Also ich möchte ja nicht bei onchange gleich eine andere Seite aufrufen. Ich möchte nur den Wert aus der Listbox als Variable zur Verfügung haben.

Hab z. B. 2 Links, die verschiedene Seiten aufrufen und bei jedem Link soll die Variable (Listboxwert) angehängt werden.


```
<select name="zeigDatum" size="1" onchange="alert(this.form.zeigDatum.options[this.form.zeigDatum.selectedIndex].value)">
```

gibt es eine Möglichkeit bei onchange den Wert in eine Variable zu packen?

Muß man dafür vielleicht extra ein javascript für schreiben?


----------



## Saber (13. November 2003)

Tja, wenns unbedingt ein Link sein soll, dann benutz halt das onClick-Ereignis.


```
<a onClick="javascript: ... usw. ...">Testlink</a>
```

Ich versteh jetzt Dein Problem nicht ganz. *sorry*


----------



## Flens (13. November 2003)

hier nochmal mein Problem:

ich habe eine Listbox mit verschiedenen Werten.

Der user wählt ein Wert aus und kann dann zwischen zwei verschiedenen Links wählen, was damit passieren soll.

z.b.

erster Link: löschen der Daten
zweiter Link: grafische Auswertung der Daten

In jeden Link will ich dann den ausgewählten Wert übergeben.

es soll aber nicht sofort etwas passieren, wenn das Ereignis onchange ausgelöst wird, sondern nur der Wert soll sich z. B. in einer Variablen ändern, denn ich dann später in dem Link mit übergebe.


----------

