Veröffentlicht 10. April 200421 j Hallo Leute, leider weis ich nicht so genau, wie ich beschreiben soll, was ich haben möchte. Ich versuche es einfach mal: Ich möchte das wenn in einem DropDown-Feld etwas ausgewählt wird, darunter nach dieser Auswahl etwas erstellt wird. Vom Ablauf her müsste also, immer wenn in dem DropDown-Feld etwas ausgewählt wird, eine Funktion aufgerufen werden, die die Seite je nach Auswahl erweitert. Ich hoffe es kam halbwegs rüber was ich haben möchte, hat jemand eine Idee mit einem Beispiel dazu ? Gruß Patrick
11. April 200421 j musste wohl dann mit formular und onChange='submit();' arbeiten <- server seitig und funzt immer oder per JavaScript, dies kann aber vom anwender deaktiviert werden. <- dabei muss aber die seite nicht jedes mal neu geladen werden!
12. April 200421 j Die Seite muss dann wieder neu aufgebaut werden. Du mußt dann beim Aufbau der Seite abfragen, wenn der Wert x ist dann zeige das und das an usw. Frank
12. April 200421 j so ungefähr! ungetestet!! <form action='test.php' method='post'> <select name='hardware' onChange='submit'> <option value='Mboard'>Motherboard</option> <option value='Graka'>Graffikkarte</option> . . . </select> <?php if ( !empty($_POST['hardware']) && $_POST['hardware'] == "Mboard") { ?> <select name='MBoard'> <option >Asus</option> <option >MSI</option> . . . </select> <?php } else if ( !empty($_POST['hardware']) && $_POST['hardware'] == "Graka") { ?> <select name='MBoard'> <option >ATI</option> <option >NVIDIA</option> . . . </select> <?php } ?> </form> [/PHP] dabei wird wie gesagt, die site immer wieder neu geladen. wenn du dir ne JavaScript Variante überlegst, dann würde das ohne neuladen gehen, dann halt mit der einschränkung, dass der "benutzer" dann im Browser JavaScripting aktiviert hat! Was allerdings meiner Meinung nach zu ca. 95% zutrifft, da es 1. Standard aktiviert ist 2. Viele gar nicht wissen wie sie es ausschalten können!
13. April 200421 j Autor Mit dem Befehl SUBMIT wird die Seite nicht aktualisiert, gibt es hier vielleicht noch eine andere Möglichkeit ? Gruß Patrick
14. April 200421 j wenn du ein formular aussen herum hast, dann sollte das onChange='submit ();' den Submit des Formulars auslösen. Somit solltest du mit dem ausgewählten wertes des Selects arbeiten können. vorraussetzung dafür, ist auch das das file in das du den source reinmachst test.php heisst! Weil oben im form action='test.php' steht! [EDIT] kannst ja ma posten wie der Inhalt deiner Datei aktuell aussieht! die Punkte ". . ." Müssen natürlich auch aus der Source raus, sollte ja nur darstellen das du unendlich viele Options in deinen Select einfügen kannst. [/EDIT]
14. April 200421 j Autor Ich werde es heute Abend gleich nochmal versuchen umzusetzen, danke schonmal für deine Hilfe. Gruß Patrick
16. April 200421 j Autor Noch eine Frage habe ich dazu: Wenn das SUBMIT ausgeführt wird, wird das form neu geladen, leider wird dann auch die Auswahlbox auf den Anfangswert gesetzt, gibt es heir eine Möglichkeit das er sich die Auswahl merkt oder muss ich die manuell wieder darstellen ? Gruß Patrick
16. April 200421 j <form action='test.php' method='post'> <select name='hardware' onChange='submit'> <option value='Mboard' <?php if ( !empty( $_POST["hardware"]) && $_POST["hardware"] == "Mboard") echo " selected=\"selected\""; ?> >Motherboard</option> <option value='Graka' <?php if ( !empty( $_POST["hardware"]) && $_POST["hardware"] == "Graka") echo " selected=\"selected\""; ?> >Graffikkarte</option> . . . </select> <?php if ( !empty($_POST['hardware']) && $_POST['hardware'] == "Mboard") { ?> <select name='MBoard'> <option >Asus</option> <option >MSI</option> . . . </select> <?php } else if ( !empty($_POST['hardware']) && $_POST['hardware'] == "Graka") { ?> <select name='MBoard'> <option >ATI</option> <option >NVIDIA</option> . . . </select> <?php } ?> </form> [/PHP] Wenn du mehrere Select felder hast machste das dann am besten mit ner funktion: [PHP] function selectOption( $sOptionName, $sOptionToSelect) { if ( $sOptionName == $sOptionToSelect) echo " selected=\"selected\""; } <form action='test.php' method='post'> <select name='hardware' onChange='submit'> <option value='Mboard'<?php selectOption( "Mboard", $_POST["hardware"]); ?>>Motherboard</option> <option value='Graka'<?php selectOption( "Graka", $_POST["hardware"]); ?>>Graffikkarte</option> . . . </select> <?php if ( !empty($_POST['hardware']) && $_POST['hardware'] == "Mboard") { ?> <select name='MBoard'> <option >Asus</option> <option >MSI</option> . . . </select> <?php } else if ( !empty($_POST['hardware']) && $_POST['hardware'] == "Graka") { ?> <select name='MBoard'> <option >ATI</option> <option >NVIDIA</option> . . . </select> <?php } ?> </form>
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.