Linuchs: <form> in einer HTML-Tabellenzeile zulässig?

Hallihallo,

ich habe diverse HTML-Tabellen, zum Beispiel Adressen mit mehreren hundert Zeilen.

In der ersten <tbody> <tr>-Zeile kann man Filter für die Spalten angeben, und die HTML-Tabelle wird mit diesen Einschränkungen neu geladen. Das klappt mit dem Firefox, aber ist das auch Standard?

<tbody>
<form action='/index.php' method='post'>
  <input type='hidden' name='kw' value="...">
  <input type='hidden' name='ll' value="...">
  <input type='hidden' name='zp' value="p101b">
<tr>
  <td></td>
  <td class="neu"> <a href="?kw=KO-16&amp;ll=1460371305&amp;zp=p102&amp;adr_kz=2&amp;adr_unt=1">neue Besucher-Firma erfassen</a></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td>
<input
type        = 'text'
name        = 'filter_merkmale'
maxlength   = 5
size        = 5
value       = '.1.E.'
title       = "merkmalsleiste varchar(5) Stellen"
placeholder = "....."
  ></td>
  <td></td>
  <td>
<input
type  = 'submit'
name  = 'p101_submit_filter'
value = 'go'
  ></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>
</form>

Ist diese Konstruktion browser-übergreifend zulässig?

Linuchs

  1. Hallo,

    Hallihallo,

    ich habe diverse HTML-Tabellen, zum Beispiel Adressen mit mehreren hundert Zeilen.

    In der ersten <tbody> <tr>-Zeile kann man Filter für die Spalten angeben, und die HTML-Tabelle wird mit diesen Einschränkungen neu geladen. Das klappt mit dem Firefox, aber ist das auch Standard?

    <tbody>
    <form action='/index.php' method='post'>
      <input type='hidden' name='kw' value="...">
      <input type='hidden' name='ll' value="...">
      <input type='hidden' name='zp' value="p101b">
    <tr>
      ...
    </tr>
    </form>
    

    Ist diese Konstruktion browser-übergreifend zulässig?

    es ist kein gültiges HTML. Ein tbody darf als Kindelemente nur tr haben, tr nur th und/oder td. Und tbody muss direktes Kindelement von table sein; es wäre also auch nicht erlaubt, das form-Element direkt unterhalb von table zu setzen.
    Schau mal in den Entwickler-Tools des Browsers oder z.B. Firebug, wie das daraus entstehende DOM tatsächlich aussieht. Gut möglich, dass die Struktur durch die Fehlerkorrektur des Browsers ganz anders aussieht, als du erwartest.

    Ein Formular muss daher immer

    • entweder komplett innerhalb einer Zelle (th oder td) stecken
    • oder die gesamte Tabelle komplett umschließen.

    So long,
     Martin

    --
    Logik ist die Theorie, Chaos die Praxis.
    1. Ein Formular muss daher immer

      • entweder komplett innerhalb einer Zelle (th oder td) stecken
      • oder die gesamte Tabelle komplett umschließen.

      Okay, da ich Filter-Angaben in verschiedenen Spalten kombinieren möchte, sei die HTML-Tabelle eine <form>.

      Danke.

      Linuchs

    2. @@Der Martin

      es ist kein gültiges HTML. Ein tbody darf als Kindelemente nur tr haben,

      Nein. Auch script-supporting elements. Auch script-supporting elements (script, template).

      tr nur th und/oder td.

      Nein. Auch script-supporting elements.

      LLAP 🖖

      --
      “You might believe there are benefits for the developer, but first of all, you should put those behind the interest of the user.” —Stefan Tilkov
      Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
  2. PS.: Bei Projekten für geschlossene Benutzergruppen konnte ich den FF vorschreiben.

    Doch nun öffnet ein Kunde gewisse Funktionen im Web für seine Kunden. Und prompt gibt es Konflikte mit dem Internet Explorer, dessen Eigenarten ich seit Jahren nicht mehr berücksichtigen musste.

    Mein Kunde empfiehlt seinen Kunden zwar den FF, aber ich möchte doch gerne einen Standard einhalten, womöglich ist der FF zu gutmütig.

    1. Hallo

      PS.: Bei Projekten für geschlossene Benutzergruppen konnte ich den FF vorschreiben.

      Das machen Firmen für ihre Intranet-Anwendungen (und leider nicht nur für diese) seit Jahren so. Wenn es sich nun aber nicht mehh um eine geschlossene Benutzergruppe handelt, ist es das Web™ bzw. Teil dessen. Dann fällt der bequeme Weg eben flach.

      Formulare kannst du ja weiterhin auch in Tabellen verwenden. Die HTML-Dokumente sollten aber valide sein, wozu du für den hiesigen Fall zuerst einmal Martins Anmerkungen beachten solltest.

      Tschö, Auge

      --
      Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
      Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview