Patrick.Karre Geschrieben 10. April 2004 Geschrieben 10. April 2004 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 Zitieren
kills Geschrieben 11. April 2004 Geschrieben 11. April 2004 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! Zitieren
Patrick.Karre Geschrieben 11. April 2004 Autor Geschrieben 11. April 2004 Wie würde dies mit PHP aussehen ? Gruß Patrick Zitieren
robotto7831a Geschrieben 12. April 2004 Geschrieben 12. April 2004 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 Zitieren
kills Geschrieben 12. April 2004 Geschrieben 12. April 2004 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! Zitieren
Patrick.Karre Geschrieben 13. April 2004 Autor Geschrieben 13. April 2004 Danke, ich werde es versuchen, gleich heute Abend umzusetzen. Gruß Patrick Zitieren
Patrick.Karre Geschrieben 13. April 2004 Autor Geschrieben 13. April 2004 Mit dem Befehl SUBMIT wird die Seite nicht aktualisiert, gibt es hier vielleicht noch eine andere Möglichkeit ? Gruß Patrick Zitieren
robotto7831a Geschrieben 13. April 2004 Geschrieben 13. April 2004 Meinst Du das Codebeispiel von kills? Frank Zitieren
Patrick.Karre Geschrieben 13. April 2004 Autor Geschrieben 13. April 2004 Ja. Irgendwas geht da nicht. Gruß Patrick Zitieren
kills Geschrieben 14. April 2004 Geschrieben 14. April 2004 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] Zitieren
Patrick.Karre Geschrieben 14. April 2004 Autor Geschrieben 14. April 2004 Ich werde es heute Abend gleich nochmal versuchen umzusetzen, danke schonmal für deine Hilfe. Gruß Patrick Zitieren
Patrick.Karre Geschrieben 16. April 2004 Autor Geschrieben 16. April 2004 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 Zitieren
kills Geschrieben 16. April 2004 Geschrieben 16. April 2004 <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> Zitieren
Patrick.Karre Geschrieben 20. April 2004 Autor Geschrieben 20. April 2004 Danke, so kann ich das Formular umsetzen. Gruß Patrick Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.