Veröffentlicht 26. April 200619 j Salut, ich generiere eine Tabelle, deren Zeilen immer gleichnamige input-Elemente beinhalten: +-------------+-------------+----------+ | [textfeld1] | [textfeld2] | [SUBMIT] | +-------------+-------------+----------+ | [textfeld1] | [textfeld2] | [SUBMIT] | +-------------+-------------+----------+ | ... | ... | ... | Beim Klick auf einen Submit-Button sollen die Werte aus dessen Zeile per GET zur Auswertung übergeben werden. Also wollte ich ein Formular pro Zeile bauen...form-Tags sind innerhalb von tables aber nicht erlaubt. Deswegen schreibe ich momentan als Workaround für jede Zeile eine neue Tabelle, die von einem <form> umschlossen wird. Das zerschießt mir durch verschieden breite Inhalte natürlich derb die Optik, aber so richtig will mir auch nichts einfallen, wie ich das optisch und technisch sauber lösen kann. Steh da grad aufm Schlauch. Hat jemand eine Idee, wie ich gleichzeitig eine einzige Tabellemit einem Formular pro Zeile realisieren kann? Merci.. ..azett
26. April 200619 j Ich schätze mal du meins xhtml strict 1.0? Ich habs bis jetzt einmal gebraucht und zudem Zeitpunkt mit Divs zusammengebastelt. Seite is mitlerweile wieder gelöscht insofern bin ich dem nich mehr Nachgegangen.
26. April 200619 j Autor Sorry, nicht erwähnt: XHTML 1.0 Transitional. Mit divs bauen wäre sicher möglich, aber auch nur Gefrickel - es ist nunmal eine Tabelle.
26. April 200619 j ...form-Tags sind innerhalb von tables aber nicht erlaubt. SelfHTML sagt das aber anders: Darf innerhalb der folgenden HTML-Elemente vorkommen: applet | blockquote | body | button | center | dd | del | div | fieldset | iframe | ins | li | map | noframes | noscript | object | td | th EDIT: Oder meinst du innerhalb eines tr, und die td beinhalten?
26. April 200619 j Autor Merci für's Nachschauen! Ich brauche ein Formular pro Tabellenzeile (siehe dein Edit ), also vom Prinzip her so: <table> <tr> <form> <td>Textfeld1</td> <td>Textfeld2</td> <td>Button</td> </form> </tr> <tr> <form> <td>Textfeld1</td> <td>Textfeld2</td> <td>Button</td> </form> </tr> ... </table>
26. April 200619 j Hi, wenn du das so machen willst und für jede Zeile ein form haben willst, dann musst du jedesmal die Tabelle schließen. Evtl könntest du ein Form um die ganze Tabelle machen und den Speichervorgang via AJAX durchführen, dann wäre das auch bestimmt schöner für den User zu bedienen... Ausserdem kann man ja auswerten auf der Serverseite, welcher Submutbutton gedrückt wurde, da nur der name des SubmitButtons übermittelt wird, der auch angeklickt worden ist. Die anderen werden nicht in den _POST bzw _GET Variablen aufgeführt... Gruß, Markus
27. April 200619 j Autor Ausserdem kann man ja auswerten auf der Serverseite, welcher Submutbutton gedrückt wurde, da nur der name des SubmitButtons übermittelt wird, der auch angeklickt worden ist. Die anderen werden nicht in den _POST bzw _GET Variablen aufgeführt...Das hat geholfen, vielen Dank Mein Code, vereinfacht: <form> <table> <tr> <td><input type="text" name="datensatz1_wert1"></td> <td><input type="text" name="datensatz1_wert2"></td> <td><input type="image" name="submit" value="datensatz1" src="foo.gif" /></td> </tr> <tr> <td><input type="text" name="datensatz2_wert1"></td> <td><input type="text" name="datensatz2_wert2"></td> <td><input type="image" name="submit" value="datensatz2" src="foo.gif" /></td> </tr> ... </table> </form> Jetzt kann ich mit $_GET['submit'] herausfinden, um welchen Datensatz es geht...und dann entsprechend mit $_GET[$_GET['submit'].'_wert1'] usw. die Daten der Textfelder auslesen. Allerdings gebe ich so natürlich die Input-Values aller Zeilen mit...je nach Anzahl der Datensätze ein ganz schöner Rattenschwanz Ein Problem taucht noch auf, wenn ich etwas in ein Textfeld in einer beliebigen Zeile außer der ersten eintrage und dann Enter drücke. Das Formular wird abgeschickt, als "submit" bekomme ich aber immer "datensatz1", also den Namen des Submit-Inputs der ersten Zeile. Die Auswertung bezieht sich dann natürlich immer auf die erste Zeile. Das ist ärgerlich, aber für mich im schlimmsten Fall noch hinzunehmen. Der aktuelle Stand ist jedenfalls besser als das "Eine-Tabelle-pro-Zeile"-Gefrickel. Evtl könntest du ein Form um die ganze Tabelle machen und den Speichervorgang via AJAX durchführenMaximalziel ist eine JS-freie Umsetzung. Merci für die Ideen, nehme weitere Vorschläge natürlich dankend entgegen ..Arvid
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.