Dynamisches Drop-Down Menu
Claudia
- php
0 HeikoH0 Felix Riesterer
0 Claudia0 ChrisB
Hallo,
ich habe in meiner Datenbank eine Tabelle "Maschinen" und eine Tabelle "Software", bei der mit einer maschinen_id die Software zu den Maschinen zugeordnet wird.
Ich möchte, dass mein Formular dynamisch ist. Wenn auf der maschine2 zum beispiel nur Software2 und Software4 vorhanden sind, sollen diese auch nur auszuwählen sein im Drop-Down Menu.
Meine Vorüberlegung:
Beim "onclick" im Maschinen-Menu, müsste eine Variable an diese PHP-Seite gesendet werden. Leider funktioniert onclick() bei den optionen nicht.
Könnt ihr mir weiterhelfen?
<form action="weiter.php">
<p>
<select name="maschinen" size="1">
<option selected="">maschine1</option>
<option>maschine2</option>
<option>maschine3</option>
<option>maschine4</option>
</select>
</p>
</form>
<form action="weiter.php">
<p>
<select name="Software" size="1">
<option selected="">Software1</option>
<option>Software2</option>
<option>Software3</option>
<option>Software4</option>
<option>Software5</option>
</select>
</p>
</form>
Hallo
Leider funktioniert onclick() bei den optionen nicht.
Könnt ihr mir weiterhelfen?
ich mache das mit onChange
Versuche es einfach
HeikoH
Liebe Claudia,
<form action="weiter.php">
<p>
<select name="maschinen" size="1"><form action="weiter.php">
<p>
<select name="Software" size="1">
<option selected="">Software1</option>
warum benutzt Du zweierlei Formulare? Soll bei Dir entweder die Auswahl der Maschine _oder_ die Auswahl der Software übermittelt werden? Das sieht für mich nicht besonders sinnvoll aus. Setze lieber beide Selects in ein einziges Formular und werte die Auswahl im Script entsprechend aus.
Wenn Du in weiter.php verschiedene Reaktionen programmieren möchtest, dann kannst Du ja verschiedene Submit-Buttons (mit unterschiedlichen Werten in ihren name-Attributen!) benutzen...
Zu Deinem Eigentlichen Problem:
Du benötigst (wie bereits erwähnt) den onchange-Eventhandler. ABER was machen Besucher ohne JavaScript? Dürfen die dann "unmögliche" Auswahlen treffen? Da muss meiner Meinung nach eine "mehrspurige" Lösung her.
Szenario ohne JavaScript:
Formular enthält nur das Select-Feld für Maschinen. Benutzer wählt eine aus und klickt "absenden". Daraufhin erfolgt ein neues Formular, in welchem der Benutzer dann die serverseitig zusammengestellten Software-Angebote auswählen kann.
Szenario mit JavaScript:
Formular verändert sich dynamisch basierend auf der Benutzerauswahl im ersten Select-Feld.
Gedanken zur Umsetzung:
Damit der Benutzer ohne JavaScript keine zwei Select-Felder auf einmal sieht, muss das zweite Select-Feld (für Software) mittels JavaScript ins Dokument eingetragen werden. Dein serverseitiges Script reagiert so, dass es je nachdem, ob es eine Software-Auswahl erhalten hat oder nicht, diese in einem erneuten Formular eben anbietet. Das JavaScript "telefoniert" mit diesem Script, um die verfügbaren Software-Angebote (vielleicht via Ajax?) "nachzuladen". Das hätte den Vorteil, dass Du das JavaScript nicht immer an die veränderte Datenstruktur anpassen musst.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Sorry, das sollte natürlich ein Formular sein.
Ich gehe mal davon aus, dass jeder in meiner Firma JAVASCRIPT aktiviert hat.
Nur wie kann ich es mit onchange realisieren?
Bräuchte ein JAVASCRIPT, dass mir die maschinen_id im ausgewählten value nochmal an die gleiche Seite übergibt und neu aufbaut.
<form action="weiter.php">
<p>
<select onchange="sende die maschinen_id an die gleiche seite und baue sie neu auf mit einem drop-down menu für die auf der maschine vorhandene software" name="maschinen" size="1">
<option selected="" value="$maschinen_id">maschine1</option>
<option value="$maschinen_id">maschine2</option>
<option value="$maschinen_id">maschine3</option>
<option value="$maschinen_id">maschine4</option>
</select>
</p>
</form>
Hi,
Nur wie kann ich es mit onchange realisieren?
Bräuchte ein JAVASCRIPT, dass mir die maschinen_id im ausgewählten value nochmal an die gleiche Seite übergibt und neu aufbaut.
http://de.selfhtml.org/javascript/objekte/elements.htm
http://de.selfhtml.org/javascript/objekte/options.htm
MfG ChrisB