Kalle_B: Darf <form ..> INNERHALB einer Tabelle beginnen?

Hallöle,

im Tabellenkopf gibt es mehrere <td>, die jeweils eine abgeschlossene <form>..</form> enthalten (Spaltenüberschriften, nach denen die Liste bei Klick sortiert wird).

Die Liste selbst hat Checkbuttons pro Zeile. Die zugehörige <form> beginnt vor <table> und endet nach </table>. Im Klartext: Formulare überlappen sich.

Bei mir im Firefox 1.5.0.3 klappt die Verarbeitung der Checkboxen donnoch, beim Kunden im FF 1.0.7 nicht.

Nun möchte ich im <thead> die Formulare lassen, muss also das grosse Formular _danach_ starten.

Ist die folgende Reihenfolge zulässig?
<table>
...
</thead>

<form ...>
  <tbody>
  <tr>....</tr>
  ...
  </tbody>
</form>

</table>

Lieben Gruß aus dem regnerischen Odenwald, Kalle

  1. Hi,

    schau mal bei Element-Referenz: <form> -> Elternelemente.
    NEIN, es darf nicht zwischen <table> und irgendwas anderem stehen, erst wieder innerhalb von <td> oder <th>, also weder <thead>, noch <tbody> oder <tr>.

    MfG
    Rouven

    --
    -------------------
    ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|
    1. für die schnelle Antwort.

      Umbau der Tabelle wird aufgeschoben, Kunde muss FF 1.5 laden.

      Kalle

      1. für die schnelle Antwort.

        Umbau der Tabelle wird aufgeschoben, Kunde muss FF 1.5 laden.

        Kalle

        Ist auch eine Lösung, nur leider die schlechteste von allen.
        Warum nicht eine Lösung komplett in CSS?
        Dann pfeif auf die Tabellen ...

        Ist eh das beste ...

        LG
        kev
        -------------
        Ich bin bei meiner ersten Tabellenlosen Seite angekommen.
        Und.
        War verdammt schwer, aber mit viel SELFHTML geht alles ...

        1. Ist auch eine Lösung, nur leider die schlechteste von allen.

          aber die schnellste im Moment.

          Warum nicht eine Lösung komplett in CSS?
          Dann pfeif auf die Tabellen ...

          An dem Lösungsversuch habe ich Stunden um Stunden gesessen.

          Spalten, die nebeneinander liegen, kannst du mit CSS _NICHT_ in der Höhe beeinflussen. Dutzende von Threads sprechen dieses Problem immer wieder an.

          Den CSS- Entwicklern müssen schon die Ohren klingeln.

          Okay, du kannst es mit float versuchen und nach jeder Zeile ein CLEAR:BOTH, damit alle Spalten der nächste Zeile auf gleicher Höhe anfangen.

          Wegen der (scheinbar enormen) Rechenarbeit des Browsers habe ich dann unakzeptierbare Wartezeiten beim Aufbau der Anzeige (350 Zeilen).

          Und weitere Probleme:
          https://forum.selfhtml.org/?t=129902&m=839906

          Da lob ich mir die alte Tabelle. Die ist noch lange nicht tot.

          Kalle

          1. Hallo Kalle_B.

            Spalten, die nebeneinander liegen, kannst du mit CSS _NICHT_ in der Höhe beeinflussen.

            Sagt wer?

            Einen schönen Montag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
            [HTML Design Constraints: Logical Markup]
            1. hi,

              Spalten, die nebeneinander liegen, kannst du mit CSS _NICHT_ in der Höhe beeinflussen.

              Sagt wer?

              Und damit ersetzt du umständliche Konstruktionen wie Faux Columns?
              Zeig her ...

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi,

    im Tabellenkopf gibt es mehrere <td>, die jeweils eine abgeschlossene <form>..</form> enthalten (Spaltenüberschriften, nach denen die Liste bei Klick sortiert wird).

    warum denn überhaupt? Du musst zwagsläufig damit rechnen, dass irgend ein Browser mit unzulässig verschachtelten form-Elementen Probleme bekommt. Du brauchst doch nur ein einziges Formular und kannst hierin verschiedene Submit-Buttons einsetzen.

    freundliche Grüße
    Ingo

    1. warum denn überhaupt? Du musst zwagsläufig damit rechnen, dass irgend ein Browser mit unzulässig verschachtelten form-Elementen Probleme bekommt. Du brauchst doch nur ein einziges Formular und kannst hierin verschiedene Submit-Buttons einsetzen.

      Oha, ganz böse Falle !!!

      Hatte ich schon. Da werden vom Anwender die Zeilen markiert und - ganz browsergerecht - die Enter-Taste gedrückt.

      Was glaubst du, welcher Submit-Button jetzt wirksam wird?

      Beim FF der erstbeste, also der, der als erster nach <form> kommt.

      Kalle

      1. Hi,

        Oha, ganz böse Falle !!!

        Hatte ich schon. Da werden vom Anwender die Zeilen markiert und - ganz browsergerecht - die Enter-Taste gedrückt.

        Was glaubst du, welcher Submit-Button jetzt wirksam wird?

        das könnte vielleicht Javascript etwas hilfreich sein.

        Aber wie sortierst Du denn überhaupt? Eigentlich braucht es doch kein form und/oder submit zur Sortierung. Soll diese über Javascript erfolgen, reicht ein beliebiges Element, und eine serverseitige Sortierung könnte über normale Links angefordert werden.

        freundliche Grüße
        Ingo

        1. Aber wie sortierst Du denn überhaupt? Eigentlich braucht es doch kein form und/oder submit zur Sortierung. Soll diese über Javascript erfolgen, reicht ein beliebiges Element, und eine serverseitige Sortierung könnte über normale Links angefordert werden.

          normale Links: Schon klar, hatte mich aber für action=post entschieden. Aber angesichts der Probleme ist das wohl wirklich sinnvoll.

          http://www.aktivferien.de/tm3/v3/pflege_gruppen.htm

          Kalle

  3. hi,

    im Tabellenkopf gibt es mehrere <td>, die jeweils eine abgeschlossene <form>..</form> enthalten (Spaltenüberschriften, nach denen die Liste bei Klick sortiert wird).

    Die Liste selbst hat Checkbuttons pro Zeile. Die zugehörige <form> beginnt vor <table> und endet nach </table>. Im Klartext: Formulare überlappen sich.

    Heißt das im Klartext, dass du Form ind Form verschachtelt hast?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Die Liste selbst hat Checkbuttons pro Zeile. Die zugehörige <form> beginnt vor <table> und endet nach </table>. Im Klartext: Formulare überlappen sich.

      Heißt das im Klartext, dass du Form ind Form verschachtelt hast?

      Ja, ich habe einen Fehler gemacht, den FF 1.5 toleriert.

      Kalle

      1. hi,

        Heißt das im Klartext, dass du Form ind Form verschachtelt hast?

        Ja, ich habe einen Fehler gemacht, den FF 1.5 toleriert.

        Toleriert in wie fern?

        Das Verhalten, welches Formular denn nun letztendlich abgesendet wird, dürfte unvorhersehbar sein.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. hi,

          Heißt das im Klartext, dass du Form ind Form verschachtelt hast?

          Ja, ich habe einen Fehler gemacht, den FF 1.5 toleriert.

          Toleriert in wie fern?

          Das Verhalten, welches Formular denn nun letztendlich abgesendet wird, dürfte unvorhersehbar sein.

          Ist vorhersehbar, hab grad nochmal getestet:

          Per Enter- Taste wird der erste Submit des umgebenden Formulars genommen.

          Und das ist der Submit aus der eingeschlossenen ersten Unterform. Shit, genau das wollte ich vermeiden.

          Danke für die kritische Nachfrage, da muss ich also doch nachbessern.

          Kalle

          1. Und das ist der Submit aus der eingeschlossenen ersten Unterform. Shit, genau das wollte ich vermeiden.

            Danke für die kritische Nachfrage, da muss ich also doch nachbessern.

            Habe die Spaltenüberschrift in eine Tabelle gepackt und dann für die Positionen eine neue Tabelle angefangen.

            Trotz Zuordnung jedes einzelnen <td class=spxx> zu

            .sp00 {width: 0%;border:none!important}
            .sp01 {width: 5%;padding:0 2px 0 2px}
            .sp02 {width: 5%;padding:0 2px 0 2px}
            .sp03 {width: 7%;padding:0 2px 0 2px}
            .sp04 {width: 7%;padding:0 2px 0 2px}
            .sp05 {width: 7%;padding:0 2px 0 2px}
            .sp06 {width: 7%;padding:0 2px 0 2px}
            .sp07 {width:37%;padding:0 2px 0 2px}
            .sp08 {width:25%;padding:0 2px 0 2px}
            .sp99 {width: 0%;border:none!important}

            weichen die Spaltenbreiten der Überschrift (Tabelle 1) und der Zeilen (Tabelle 2) voneinander ab. Sieht beknackt aus, man kann aber arbeiten.

            Schlimmer ist, dass beim Drucken natürlich die Spaltenüberschrift auf den Folgeseiten NICHT wiederholt wird, Tabelle 2 hat ja keinen <thead> mehr.

            Ja, könnte ich auch in Tabelle 2 wiederholen, zerstört aber mein Layout auf dem Display.

            Kalle
            Kalle

          2. Tach,

            Das Verhalten, welches Formular denn nun letztendlich abgesendet wird, dürfte unvorhersehbar sein.

            Ist vorhersehbar, hab grad nochmal getestet:

            also ist es für genau die Version unter deinen Testbedingungen vorhersagbar, was ist mit zukünftigen und älteren Versionen der Gecko-Engine? Sich auf eine Fehlerkorrektur zu verlassen führt früher oder später zu unnötiger Mehrarbeit.

            mfg
            Woodfighter