Klaus Junge: Tabellen und Forms?

Hallo allerseits,

Kirsten hat ihre Seiten über einen Validator gejagt
und einen Haufen Meldungen bekommen.
Das meiste sind eher formale Fehlerchen wie fehlende ALT-Texte...

Eine Sorte Meldungen ist mir jedoch unklar:

'line 80: </TR> on line 78 seems to overlap <TD>, opened on line 80.'

bzw.

...
77: </td>
78: </tr>
79: <tr>
80: <td align="right" valign="top"><img src="dot.gif" border="0" width="10" height="10" vspace="4"></td>
--- </TR> on line 78 seems to overlap <TD>, opened on line 80.
...

Die Tabelle ist korrekt aufgebaut, keine vergessenen Tags,
keine zuviel, keine leeren Zellen...
Die Meldung ist ja etwas sonderbar, besagt sie doch, daß das
schließende Tag das später öffnende überlappt. (?)
Das <TR> in Zeile 79 ist ja auch da und korrekt.

Stolpern tue ich lediglich über diese Meldungen:

Error at line 77:
  </td>
  end tag for "FORM" omitted, but its declaration does not permit this

Error at line 173:
  </form>
  end tag for element "FORM" which is not open

Kirsten hat in der Zelle die in Zeile 77 geschlossen wird,
eine FORM geöffnet. Schließen tut sie sie erst weiter unten
in einer ganz anderen Tabellenzelle in Zeile 173.

Mein Verdacht ist, daß FORMs nicht innerhalb einer Tabelle
und über Zellen verstreut definiert werden dürfen.
Einen Hinweis darauf hab' ich nicht finden können.
Die Seite funktioniert ja auch korrekt.

Kann mir da jemand auf die Sprünge helfen?

Klaus

  1. Hi,

    Kirsten hat ihre Seiten über einen Validator gejagt
    und einen Haufen Meldungen bekommen.
    Das meiste sind eher formale Fehlerchen wie fehlende ALT-Texte...

    ...die seit HTML 4.0 required sind ;-)

    Eine Sorte Meldungen ist mir jedoch unklar:

    'line 80: </TR> on line 78 seems to overlap <TD>, opened on line 80.'

    Das verstehe ich allerdings auch nicht. Wo findet man den Validator und die Seite? Vielleicht ist ja irgendwoanders ein Fehlerchen, welches zu dieser unsinnigen Meldung führt...

    Stolpern tue ich lediglich über diese Meldungen:

    [...]

    Kirsten hat in der Zelle die in Zeile 77 geschlossen wird,
    eine FORM geöffnet. Schließen tut sie sie erst weiter unten
    in einer ganz anderen Tabellenzelle in Zeile 173.

    Mein Verdacht ist, daß FORMs nicht innerhalb einer Tabelle
    und über Zellen verstreut definiert werden dürfen.

    Das ist korrekt, Du darfst nicht willkürlich öffnen und schließen. Beispielsweise ist folgendes falsch: <b><i></b></i>. Warum? Nun, stell Dir mal vor, Du würdest das mit identischen Tags machen: <x><x></x></x>. Welcher schließt welchen?

    Tags sind gewissermaßen eine Klammerung, deswegen müssen sie logisch aufgebaut werden:
    ( [] { [] } ( { } [ { } ] ) )
    Durcheinanderwurschtelei ist verboten.

    Die Seite funktioniert ja auch korrekt.

    Sagen wir: Die Fehlerkorrektur der meisten Browser funktioniert ganz gut ;-)

    Cheatah

    1. Hallo Cheatah,

      Mein Verdacht ist, daß FORMs nicht innerhalb einer Tabelle
      und über Zellen verstreut definiert werden dürfen.
      Das ist korrekt, Du darfst nicht willkürlich öffnen und schließen.

      wenn ich Dich richtig verstehe, dann ist folgendes nicht erlaubt:

      <table>
      <tr>
        <td>
         <FORM...
         ...
        </td>
      </tr>
      ...
      <tr>
        <td>
         ...
         </FORM>
        </td>
      </tr>
      </table>
        
      Das ist aber gerade das was Kirsten gemacht hat.
      Gesehen hab' ich irgendsowas aber doch auch schon mal irgendwo.
      Bei Font-Tags (und zumindest NS) ist es aber so wie Du sagst.

      'line 80: </TR> on line 78 seems to overlap <TD>, opened on line 80.'
      Das verstehe ich allerdings auch nicht.
      Wo findet man den Validator und die Seite?
      Vielleicht ist ja irgendwoanders ein Fehlerchen,
      welches zu dieser unsinnigen Meldung führt...

      Validatoren waren:
      http://www.fritz-service.com/
      http://validator.w3.org/
      Quelle ist:
      http://pages.vossnet.de/kevers/akh/feedback.htm

      Beispielsweise ist folgendes falsch: <b><i></b></i>.

      Klar, oder zumindest syntaktisch unsauber, aber uneindeutig doch auch wieder nicht.

      Nun, stell Dir mal vor, Du würdest das mit identischen Tags machen:
      <x><x></x></x>. Welcher schließt welchen?

      Wenn ich den Parser schriebe, dann:
      <x>
      <x>
      </x>
      </x> ;-)

      Die Seite funktioniert ja auch korrekt.
      Sagen wir: Die Fehlerkorrektur der meisten Browser funktioniert ganz gut ;-)

      Du hast ja, wie üblich, sooo recht! ;-)

      Klaus

      1. Hallo Cheatah,

        Wenn ich den Parser schriebe, dann:
        <x>

        »»  <x>
        »»  </x>

        </x> ;-)

        klar, natürlich hat er mir oben die Spaces geklaut.
        Also:  <x>(<x>...</x>)</x>

        Klaus

      2. Hi,

        Mein Verdacht ist, daß FORMs nicht innerhalb einer Tabelle
        und über Zellen verstreut definiert werden dürfen.
        Das ist korrekt, Du darfst nicht willkürlich öffnen und schließen.

        wenn ich Dich richtig verstehe, dann ist folgendes nicht erlaubt:

        [...]

        genau, das darfst Du nicht machen.

        Gesehen hab' ich irgendsowas aber doch auch schon mal irgendwo.

        Das macht es nicht richtiger... ich habe auch schon gesehen, wie jemand im Kaufhaus Waren in seine Jackentasche gesteckt hat ;-)

        Bei Font-Tags (und zumindest NS) ist es aber so wie Du sagst.

        Bei allen Tags ist es so, nur merkt man es bei unterschiedlichen nicht unbedingt, weil die Browser eine gute Fehlerkorrektur haben.

        'line 80: </TR> on line 78 seems to overlap <TD>, opened on line 80.'
        Das verstehe ich allerdings auch nicht.
        Wo findet man den Validator und die Seite?

        Validatoren waren:
        http://www.fritz-service.com/
        http://validator.w3.org/
        Quelle ist:
        http://pages.vossnet.de/kevers/akh/feedback.htm

        Ich schaue da mal rein.

        Beispielsweise ist folgendes falsch: <b><i></b></i>.

        Klar, oder zumindest syntaktisch unsauber, aber uneindeutig doch auch wieder nicht.

        Nein, nicht syntaktisch unsauber, sondern falsch. Uneindeutig ist es nicht, weil man die Namen der Tags einander eindeutig zuordnen kann. Drum eben auch das Beispiel mit <x>.

        Nun, stell Dir mal vor, Du würdest das mit identischen Tags machen:
        <x><x></x></x>. Welcher schließt welchen?

        Wenn ich den Parser schriebe, dann:
        <x>(<x>...</x>)</x>

        Richtig, es sind aber praktisch die gleichen Tags wie oben - also [<x>(<x>]</x>)</x> oder so ähnlich. Du merkst, falsch zu klammern kann man gar nicht mal so einfach schreiben... und der Browser hat ähnliche Probleme, das zu interpretieren.

        Cheatah

      3. Hi nochmal,

        'line 80: </TR> on line 78 seems to overlap <TD>, opened on line 80.'
        Das verstehe ich allerdings auch nicht.
        Wo findet man den Validator und die Seite?

        Validatoren waren:
        http://www.fritz-service.com/
        http://validator.w3.org/
        Quelle ist:
        http://pages.vossnet.de/kevers/akh/feedback.htm

        tja, ich kann da als Fehler eigentlich nur finden, daß da mit den Formularen arg schief geschachtelt wird. Mach das mal weg, vermutlich taucht der Fehler dann nicht mehr auf.

        Cheatah

        1. Hallo  Cheatah,

          vielen Dank.

          tja, ich kann da als Fehler eigentlich nur finden, daß da mit den Formularen arg schief geschachtelt wird. Mach das mal weg, vermutlich taucht der Fehler dann nicht mehr auf.

          Da wird Kirsten es wohl mal sorum versuchen müssen.

          <FORM...
          <table>
            <tr>
             <td>
              ... <input type="...
             </td>
            </tr>
            ...
            <tr>
             <td>
              ... <input type="...
             </td>
            </tr>
          </table>
          </FORM>

          Ob das klappen könnte ist mir aber auch nicht so klar,
          verschachtelt bleibt ja doch verschachtelt.
          Und, ihre Zurückbutton-Form ist ja auch noch im Wege.

          Klaus

          1. Hi Klaus

            <FORM...

            »»  <table>

            <tr>
               <td>
                ... <input type="...
               </td>
              </tr>
              ...
              <tr>
               <td>
                ... <input type="...
               </td>
              </tr>

            »»  </table>

            </FORM>

            Ob das klappen könnte ist mir aber auch nicht so klar,

            Warum nicht? So ist es doch alles ordentlich geschachtelt. Fuer jede aufgemachte Tuer wird auch wieder eine zugemacht (stimmt's Kirsten? ;-)), und zwar in der richtigen Reihenfolge.

            Ich hatte auch schon ein FORM im TABLE, in dem FORM noch ein paar Tabellen, in den Tabellen die INPUTs. Bis jetzt hat jedenfalls noch keiner irgendwelche Probleme berichtet. (Allerdings benutzt hier auch niemand den IE5 *g*)

            verschachtelt bleibt ja doch verschachtelt.

            Klar, aber aus verwurschtelt ist geradlinig geworden.

            Und, ihre Zurückbutton-Form ist ja auch noch im Wege.

            Du meinst ein FORM im FORM? Also ob das geht, weiss ich nun auch nicht. Kommt drauf an, wie weit die Programmierer der Browser gedacht haben.

            Bye by Calocybe

            1. Hallo Calocybe,

              verschachtelt bleibt ja doch verschachtelt.
              Klar, aber aus verwurschtelt ist geradlinig geworden.

              nun, Kirsten's Ansatz fand ich 'überlagert', aber nicht verwurschtelt.
              Man lernt eben nie aus, mal sehen.

              Und, ihre Zurückbutton-Form ist ja auch noch im Wege.
              Du meinst ein FORM im FORM?

              Nee, nicht FORM im FORM, das sind zwei FORMs hintereinander
              in einer Tabelle. Gut, die Zurückbutton-Funktion läßt sich
              ohne weiteres als normales HREF mit onClick umschreiben.
              Das gibt ja auch mehr gestalterische Freiheit.
              Wenn das Form-Tag nun außen um die Tabelle gelegt wird,
              dann darf da wohl nur noch eine Form existieren.

              Bis jetzt hat jedenfalls noch keiner irgendwelche Probleme berichtet.
              Allerdings benutzt hier auch niemand den IE5 *g*

              Naja, Browser haben ja auch nicht gemotzt. Kirsten hat ja
              Validatoren befragt und deren Meldungen waren leider nicht so
              einfach zu interpretieren.

              Klaus

              1. Hi again

                Nee, nicht FORM im FORM, das sind zwei FORMs hintereinander
                in einer Tabelle.

                Sehe kein Problem. Mach ruhig 20 Formulare in dein Dokument, ob die in einer Tabelle sind oder nicht, ist doch egal. Auch mehrere in einer Tabelle sind kein Problem. Im Prinzip haben die FORMs mit den TABLEs gar nichts zu tun, es ging ja eigentlich nur um die falsche Verschachtelung. Aber das waere mit <form><font></form></font> vielleicht auch passiert. Das einzige, was vielleicht problematisch sein koennte, waere wenn sich das FORM ueber mehrere Tabellenzeilen erstreckt (aber nicht ueber die ganze Tabelle), aber eigentlich sollte das auch gehen (also <table><tr>...</tr><form><tr>...</tr><tr>...</tr></form><tr>...</tr></table> oder so).

                Gut, die Zurückbutton-Funktion läßt sich
                ohne weiteres als normales HREF mit onClick umschreiben.

                Du meinst den Reset-Knopf? Wozu umschreiben? Jeder Reset-Knopf weiss doch, zu welchem Form er gehoert, naemlich zu dem, innerhalb dessen Form-Tags er steht. Das hat auch nichts mit der Position auf dem Bildschirm zu tun, falls Du das denkst.

                Das gibt ja auch mehr gestalterische Freiheit.
                Wenn das Form-Tag nun außen um die Tabelle gelegt wird,
                dann darf da wohl nur noch eine Form existieren.

                Wenn Du dann in der Tabelle auch noch ein FORM reinmachst, waere das ja ein FORM im FORM, und da waere ich vorsichtig, selbst wenn das fuer die Validators ok ist. Da koennte ich mir gut vorstellen, dass die Browser unterschiedlich reagieren.

                Naja, Browser haben ja auch nicht gemotzt. Kirsten hat ja
                Validatoren befragt und deren Meldungen waren leider nicht so
                einfach zu interpretieren.

                Also ich kann ueber den CSE Validator (http://www.htmlvalidator.com) nichts Schlechtes berichten. Ok, war'n Scheisswitz, das Ding kostet $50.

                Jetzt aber zurueck an die Arbeit, immer dieses Rumgesurfe!
                Bye by Calocybe