Hallo Alle,
in einem Shop kommen die Einträge aus einer Datenbank und werden in einer Tabelle dargestellt.
Hinter der Ausgabe des Preises steht jeweils ein (Submit-)Button mit dem der Artikel in den Warenkorb gelegt werden kann.
So weit - so gut, das kann ich noch mit einem Form in einem einzelnen Tabellenfeld (<td>) erreichen.
Abhängig von der zur Verfügung stehenden Anzahl, soll jetzt aber in der Anzahl-Spalte evtl. ein Eingabefeld für die gewünschte Menge zum selben Formular wie der Absende-Button gehören.
Beispielsweie auf dieser Seite:
http://musik-und-filme.de/xxl/product_info.php?products_id=28042
Und genau da komme ich nicht weiter. Wie kann ich in einer Tabelle Zeilenweise jeweils ein Formular nutzen, wenn mehrere Spalten zum form gehören, ich aber weiterhin valides HTML haben möchte?
Zzt. habe ich den <form > innerhalb des <tr>, außerhalb der <td>s stehen.
<tr><form><td></td><td></td></form></tr>
Der w3c-Validator validiert das Dokument aber ebenso nicht, wenn die <form >-Tags außerhalb der Tabellenzeile (<tr>) steht:
<form><tr><td></td><td></td></tr></form>
Nur einen Form um die gesamte Tabelle zu legen fällt flach, weil jeder Artikel (je Button) ein oder mehrere IDs (hidden) mit gesendet werden sollen und dann der komplette Auswertungsmechanismus umgestellt werden müßte.
Und eine Verschachtelung in welcher der Form in einem Tabellenfeld geöffnet und in einem anderen Tabellenfeld geschlossen wird fällt eh flach:
<tr><td><form></td><td></form></td></tr>
Wie also soll ich die <form >-Tags platzieren um valides HTML zu erhalten?
Ich habe auch schon gedacht die Tabellen gegen andere Elemente auszutauschen, oder je Datensatz eine Tabelle zu nutzen. Da aber die Elementinhalte sehr unterschiedliche Längen haben können, ständen dann die Spalten nicht mehr unter der jeweiligen Spaltenüberschrift. Oder das Tabellenverhalten (Automatische Größenanpassung an die Inhalte und entsprechendes Umbrechen bei zu schmaler Gesamtbreite) fällt dann weg.
Erschwerend kommt hinzu, dass die Tabelle bei manchen Produkten zwei Zeilen benötigt (siehe mouseover; dann sieht man die Tabellenfelder deutlich):
http://musik-und-filme.de/xxl/product_info.php?products_id=36887
Ich hoffe jemand kann mir eine Lösung anbieten.
Besten Dank schon mal
Hartmut