"Forms" in Tabellen und alles als XHTML
Lude
- html
Hi,
ich moechte in einer grossen Tabelle in jede Tabellenzeile eine Form packen und sicherstellen, dass die Spaltenbreiten der Tabelle immer gleich bleibt, also:
/----------------------------------------------------\
| Ü1 | Ü2 | Ü3 | Ü4 | Ü? |
------------------------------------------------------
| 1 | 2 | 3 | 4 | Submit-Button |
------------------------------------------------------
| 1 | 2 | 3 | 4 | Submit-Button |
------------------------------------------------------
...
Die zweite und dritte Tabellenzeile beinhalten also "forms". Leider duerfen sich "forms" in XHTML nicht in 'tr'-Elementen aufhalten, so dass ich diese in 'td'-Elemente packe, dann wiederum muss ich die 'input'-Elemente der "form" wieder fuer deren 'input'-Elemente in eine Tabelle packen usw...
Mit der Konsequenz, dass ich in jeder Tabellenzeile wieder jeweils eine Tabelle habe und deren Spaltenbreite sich jeweils unterscheidet. (Loesungen mit fester Tabellenfeld-Breite kommen fuer mich nicht in Frage.)
Kann man mir da helfen?
Gruss,
Lude
.. mhmm obe nhaste stehen, du willst feste breiten und im letzten absatz kommen sie für dich nicht in frage ...
aber ich denke trotzdem zu verstehen zu können was du meinst - könntest du dann in dem fall nciht %-angaben benutzen? wenn in jeder zelle was steht, sollte der browser die auch richtige und in gemeinsamem abstand verteilen, egal wie breit deine große tabelle drum herum ist ..
gruß hein
Hi,
.. mhmm obe nhaste stehen, du willst feste breiten und im letzten absatz kommen sie für dich nicht in frage ...
aber ich denke trotzdem zu verstehen zu können was du meinst - könntest du dann in dem fall nciht %-angaben benutzen? wenn in jeder zelle was steht, sollte der browser die auch richtige und in gemeinsamem abstand verteilen, egal wie breit deine große tabelle drum herum ist ..
also ich meinte "feste Breite" innerhalb der grossen Tabelle, letztendlich ohne explizites Einstellen der "festen Breite". Hintergrund der Angelegenheit ist, dass die Tabelle von einem Modul generiert wird und die Anzahl der Spalten variiert.
Gruss,
Lude
Hallo Lude,
du könntest ein die ganze Tabelle umfassendes Formular benutzen und den Eingabefeldern und Submitbuttons zusätzlich Nummern geben. Auf der Serverseite müsstest du entsprechend je nach Name des Submit-Button nur die Daten bearbeiten, welche dieselbe Reihennummer tragen. Beispielsweise:
<form action="bla" method="post">
<table>
<thead>...</thead>
<tbody>
<tr>
<td><input name="feld1_1" ... /></td>
<td><input name="feld2_1" ... /></td>
<td><input name="feld3_1" ... /></td>
<td><input name="feld3_1" ... /></td>
<td><input type="submit" name="submit_1" ... /></td>
</tr>
<tr>
<td><input name="feld1_2" ... /></td>
<td><input name="feld2_2" ... /></td>
<td><input name="feld3_2" ... /></td>
<td><input name="feld3_2" ... /></td>
<td><input type="submit" name="submit" ... /></td>
</tr>
...
</tbody>
</table>
</form>
In PHP könntest du dir auch gleich einen Array bauen, den du einfacher verarbeiten kannst, beispielsweise:
<form action="bla" method="post">
<table>
<thead>...</thead>
<tbody>
<tr>
<td><input name="feld[1][vorname]" type="text" /></td>
<td><input name="feld[1][nachname]" type="text" /></td>
<td><input name="feld[1][geburtsdatum]" type="text" /></td>
<td><input name="feld[1][telefon]" type="text" /></td>
<td><input type="submit" name="feld[1][submit]" /></td>
</tr>
<tr>
<td><input name="feld[2][vorname]" type="text" /></td>
<td><input name="feld[2][nachname]" type="text" /></td>
<td><input name="feld[2][geburtsdatum]" type="text" /></td>
<td><input name="feld[2][telefon]" type="text" /></td>
<td><input type="submit" name="feld[2][submit]" /></td>
</tr>
...
</tbody>
</table>
Serverseitig wird der Datensatz verarbeitet (in einer Datenbank geändert, gelöscht o.ä.), der den submit-Flag trägt.
Entspricht das ungefähr deinen Anforderungen?
Mathias
Hi,
Entspricht das ungefähr deinen Anforderungen?
ja, danke! - Die Loesung mit _einem_ Formular ueberzeugt mich. Allerdings muss ich dann auch JavaScript einsetzen, was ich vermeiden wollte.
Gruss,
Lude
Hallo,
Allerdings muss ich dann auch JavaScript einsetzen,
Wie um Himmels Willen kommst Du auf die Idee?
JavaScript ist voellig ueberfluessig im Beispiel von molily.
Wie (mit welcher serverseitigen Technologie/Skriptsprache)
verarbeitest Du das Formular?
Gruesse,
Thomas