#1 28. April 2009 ComboBox auslesen? Also ich habe eine Tabelle in der eine ComboBox ist: PHP: <table width="300" border="0"> <tr> <td> <h5>Sortieren nach:</h5> </td> <td> <select name="tut"> <option>Originaltitel</option> <option>Deutscher Titel</option> <option>FSK</option> <option>Version</option> <option>Erschienen am</option> </select> </td> <td> <?php $hallo = $_POST [ 'tut' ]; echo $hallo ; ?> </td> </tr> </table> Zum testen wollte ich mir den Wert der gerade in der ComboBox ausgewählt ist einfach eine Zeile weiter ausgeben lassen. Nur leider klappt das nicht. Ich habe es auch schon versucht in dem ich das ganze in eine form gesetzt habe: PHP: <form name="Formular" method="POST" action="main_exemplar.php"> <table width="300" border="0"> <tr> <td> <h5>Sortieren nach:</h5> </td> <td> <select name="tut"> <option>Originaltitel</option> <option>Deutscher Titel</option> <option>FSK</option> <option>Version</option> <option>Erschienen am</option> </select> </td> <td> <?php $hallo = $_POST [ 'tut' ]; echo $hallo ; ?> </td> <td> <input type = "submit" value="prüfen"> </td> </tr> </table> </form> Da funktioniert es sobald ich auf den Button klicke. Das will ich aber nicht. Er soll gleich zu Programmstart den Wert auslesen ohne das man erst auf den Button klicken muss. Wie kann ich das realisieren? + Multi-Zitat Zitieren
#2 28. April 2009 AW: ComboBox auslesen? mit php garnicht, wär ein fall für javascript. es sei denn du generierst die auswahlbox ebenfalls mit php, oder du gibst eine standardauswahl an: PHP: <? php $hallo = (!empty( $_POST [ 'tut' ])) ? $_POST [ 'tut' ] : 'default' ; echo $hallo ; ?> + Multi-Zitat Zitieren
#3 28. April 2009 AW: ComboBox auslesen? Wie würde das ganze dann mit Javascript aussehen? Wäre es mit Javascript auch möglich so eine Art sofort aktualisierung vorzunehmen? Also wenn der Benutzer ein anderes Element aus der ComboBox auswählt das sich dann sofort auch die Ausgabe ändert? + Multi-Zitat Zitieren
#4 28. April 2009 AW: ComboBox auslesen? HTML: <form name="test"> <select onChange="document.forms['test'].elements['out'].value = this.value" name="tut"> <option>Originaltitel</option> <option>Deutscher Titel</option> <option>FSK</option> <option>Version</option> <option>Erschienen am</option> </select> <input type="text" name="out"> </form> Geht sicher iwie eleganter, aber ich kann eigtl kein JS + Multi-Zitat Zitieren
#5 28. April 2009 AW: ComboBox auslesen? Würde den Code gerne mal testen nur es kommt immer Syntax Error. Ich kann den Fehler nur irgendwie nich finden. + Multi-Zitat Zitieren
#7 29. April 2009 AW: ComboBox auslesen? Einen Syntaxerror kann ich zwar auch nicht finden, aber auch wenn der Firefox das problemlos mitmacht, ist es wirklich nicht nett das value auszulesen, wenn keines der OPTION-Elemente ein value hat! Eher in die Richtung (unabhängig von elegant oder nicht): Code: <form name="test"> <select onChange="document.forms['test'].elements['out'].value = this.selectedIndex>=0?this.options[this.selectedIndex].text:''" name="tut"> ... Gruß Resus + Multi-Zitat Zitieren
#8 29. April 2009 AW: ComboBox auslesen? Naja ich hab es so versucht in meine html Seite einzubinden: Dachte erst es wär Javascript gewesen drum hat ichs falsch. PHP: < form name = "test" > < select onChange = "document.forms['test'].elements['out'].value = this.value" name = "tut" > < option > Originaltitel </ option > < option > Deutscher Titel </ option > < option > FSK </ option > < option > Version </ option > < option > Erschienen am </ option > </ select > < input type = "text" name = "out" > </ form > Und wie kann ich dann jetzt auf den Wert zugreifen? Habs mit: PHP: <? php echo $out ; ?> versucht, will aber nicht. + Multi-Zitat Zitieren
#9 29. April 2009 AW: ComboBox auslesen? es wird von javascript in das Textfeld geschrieben.... Klingt logisch weil das keine PHP Variable ist... + Multi-Zitat Zitieren
#10 29. April 2009 AW: ComboBox auslesen? Hmm irgendwie steh ich auf dem Schlau. Könntest du das genauer erklären. Danke! + Multi-Zitat Zitieren
#11 29. April 2009 AW: ComboBox auslesen? HTML: <form name="Formular" method="POST" action="main_exemplar.php"> <table width="300" border="0"> <tr> <td> <h5>Sortieren nach:</h5> </td> <td> <select onChange="document.forms['Formular'].elements['out'].value = this.value" name="tut"> <option>Originaltitel</option> <option>Deutscher Titel</option> <option>FSK</option> <option>Version</option> <option>Erschienen am</option> </select> </td> <td> <input type="text" name="out"> </td> <td> <input type = "submit" value="prüfen"> </td> </tr> </table> </form> Mal an dein Layout angepasst.. Erklärung folgt.. HTML: <select onChange="document.forms['Formular'].elements['out'].value = this.value" name="tut"> onChange => "Wenn Änderung" document => Diese Datei (Dokument) forms => Formulare ['Formular'] => Dein Formularname element => Element ['out'] => Name des zu beschreibenden Elementes .value => Wert this => "Dieses" Also diese Combobox value => Wert.. => Ausgewählter Wert... Um das Textfeld nit so sichtbar zu machen, kannst es zB durch diesen Code ersetzen: HTML: <input type="text" name="out" style="border: 0px; background:none;"> border: 0px => Setzt Rand auf 0 Pixel Background: none => Keine Hintergrundfarbe + Multi-Zitat Zitieren
#12 29. April 2009 AW: ComboBox auslesen? Hi, afaik kannst du jeder option auch noch das Attribut value hinzufügen und da deine Variable reinschreiben, oder irre ich mich da jetzt? Dann kannst du dir den ganzen JS-Kram auch sparen. PHP: <form name="Formular" method="POST" action=""> <table width="300" border="0"> <tr> <td> <h5>Sortieren nach:</h5> </td> <td> <select name="tut"> <option value="Originaltitel">Originaltitel</option> <option value="Deutscher Titel">Deutscher Titel</option> <option value="FSK">FSK</option> <option value="Version">Version</option> <option value="Erschienen am">Erschienen am</option> </select> </td> <td> <?php $hallo = $_POST [ 'tut' ]; echo $hallo ; ?> </td> <td> <input type = "submit" value="prüfen"> </td> </tr> </table> </form> Funktionieren tuts bei mir perfekt. + Multi-Zitat Zitieren
#13 29. April 2009 Ok besten dank jetzt hab ichs geschnallt. Ich muss mir quasi den Wert dann aus dem Formular holen. Ist es nun auch möglich das sobald der Nutzer in der ComboBox etwas ändert auch die Tabelle aktualisiert wird? Ich habs mal so versucht, will aber nicht klappen. Es soll, sobald an der ComboBox eine andere Auswahl getroffen wurde, sich auch die Tabelle aktualisieren. Das Problem besteht darin den derzeitig ausgewählen Wert aus der ComboBox in die Variable $hallo zu bekommen. Hat jemand eine Lösung? HTML: <html> <head> <script> function test2(){ <?php $hallo = $_POST['out']; $banane = ocilogon("sdf","sdf","fbw"); $versuch = ociparse($banane,"select orgtitel as \"Originaltitel\", dt_titel as \"Deutscher Titel\", fsk, erschdat from dvd_exemplar order by $hallo"); ociexecute($versuch); $spanz=ocinumcols($versuch); print "<table class=\"table\">"; for ($i=1;$i<=$spanz;$i++) { $sname = ocicolumnname($versuch,$i); print "<th class=\"th\"><b>$sname</b></th>"; } while (ocifetch($versuch)) { print "<tr>"; for ($i=1;$i<=$spanz;$i++) { $wert=ociresult($versuch,$i); print "<td class=\"td\">$wert</td>"; } print "</tr>"; } print "</table>"; ?> } </script> </head> <body> <form name="Formular" method="POST" action="main_exemplar.php"> <table width="300" border="0"> <tr> <td> <h5>Sortieren nach:</h5> </td> <td> <select onChange="test2()" name="out"> <option value="orgtitel">Originaltitel</option> <option value="dt_titel">Deutscher Titel</option> <option value="fsk">FSK</option> <option value="version">Version</option> <option value="erschdat">Erschienen am</option> </select> </td> </tr> </table> </form> </body> </html> + Multi-Zitat Zitieren