azett Geschrieben 26. April 2006 Teilen Geschrieben 26. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sigi Geschrieben 26. April 2006 Teilen Geschrieben 26. April 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azett Geschrieben 26. April 2006 Autor Teilen Geschrieben 26. April 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 26. April 2006 Teilen Geschrieben 26. April 2006 ...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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azett Geschrieben 26. April 2006 Autor Teilen Geschrieben 26. April 2006 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> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 26. April 2006 Teilen Geschrieben 26. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azett Geschrieben 27. April 2006 Autor Teilen Geschrieben 27. April 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.