Kalle_B: Firefox-Tabelle: fügt leere Spalte ein

Hallöle,

habe da einen merkwürdigen Fehler, der mal auftritt und beim nächsten Mal wieder nicht (FF 2.0.0.14)

In einer Tabelle mit 177 Zeilen und 9 Spalten wird manchmal in einer Zeile eine leere Spalte eingefügt, das macht natürlich das Layout kaputt:
http://tm3-fuhrpark.de/p101_spaltenfehler.gif

Im Quelltext kann ich an dieser Zeile keinen Fehler feststellen:
<tr title="vom Benutzer markiert" class_old="bghgrau" class="bggruen" onclick="switchMarkierung(this)">

<td class="sp01">
  <a href="javascript:zeigAdressformular( 0, 0, 3648)" title="Satz ändern"><p class="button ro">161</p></a>
</td>

<td class="sp02" name="firma">

</td>

<td class="sp03" name="name">
  <span title="Müller">Müller</span>, <span title="Thomas">Thomas</span>

<i class="em08 cdrot">2 <b>A</b></i>
</td>

<td class="sp04"><a href="?zp=p136&amp;kw=Kalle08&amp;ll=1210147291&amp;besucher_id=3648"><p class="button">*</p></a></td>

<td class="sp05">
  <a href="?zp=p103&amp;kw=Kalle08&amp;ll=1210147291&amp;adr_id=3648">
  <p class="button courier">-1- 16</p></a>

</td>

<td class="sp06 co"><a href="javaScript:zeigGruppe()"></a></td>

<td class="sp08">
  <a href="?zp=p131&amp;kw=Kalle08&amp;ll=1210147291&amp;adr_id=3648"><p class="button bgrot">0-0</p></a>
</td>

<td class="sp09">
 <p class="button bgrot"><a href="?zp=p134&amp;kw=Kalle08&amp;ll=1210147291&amp;adr_id=3648">0-0</a></p>
  </td>

<td class="sp10">
    <a href="?zp=p132&amp;kw=Kalle08&amp;ll=1210147291&amp;adr_id=3648&amp;adr_kz=2">
    <p class="button">T-Plan</p></a>
  </td>
</tr>

Was kann das sein?

MfG Kalle

  1. habe die Seite lokal abgespeichert.

    Beim Wiederaufrufen ist der Anzeigefehler verschwunden.

  2. Hi,

    Im Quelltext kann ich an dieser Zeile keinen Fehler feststellen:

    dann hast Du wohl Tomaten auf den Augen?

    <tr title="vom Benutzer markiert" class_old="bghgrau" class="bggruen" onclick="switchMarkierung(this)">

    tr kennt kein Attribut "class_old".

    <a href="javascript:zeigAdressformular( 0, 0, 3648)" title="Satz ändern"><p class="button ro">161</p></a>

    a darf keine Blockelemente enthalten.

    <td class="sp02" name="firma">

    </td>

    kein Fehler, aber ich würde sicherheitshalber ein geschütztes Leerzeichen nehmen.

    <i class="em08 cdrot">2 <b>A</b></i>

    auch kein Fehler, aber Murks^3.

    <td class="sp04"><a href="?zp=p136&amp;kw=Kalle08&amp;ll=1210147291&amp;besucher_id=3648"><p class="button">*</p></a></td>

    <td class="sp05">
      <a href="?zp=p103&amp;kw=Kalle08&amp;ll=1210147291&amp;adr_id=3648">
      <p class="button courier">-1- 16</p></a>

    w.o.: p in a.

    <td class="sp06 co"><a href="javaScript:zeigGruppe()"></a></td>

    ein Link ohne Inhalt?

    <td class="sp08">
      <a href="?zp=p131&amp;kw=Kalle08&amp;ll=1210147291&amp;adr_id=3648"><p class="button bgrot">0-0</p></a>

    w.o.: p in a.

    <a href="?zp=p132&amp;kw=Kalle08&amp;ll=1210147291&amp;adr_id=3648&amp;adr_kz=2">
        <p class="button">T-Plan</p></a>

    w.o.: p in a.

    Was kann das sein?

    haufenweise erforderliche Fehlerkorrektur durch den Browser...

    freundliche Grüße
    Ingo

    1. Hi, Ingo,

      <tr title="vom Benutzer markiert" class_old="bghgrau" class="bggruen" onclick="switchMarkierung(this)">
      tr kennt kein Attribut "class_old".

      Wieso? class_old wird per Javascript gesetzt, um die alte Hintergrundfarbe zu speichern, die beim zweiten Klick wiederhergestellt wird:
      <tr title="vom Benutzer markiert" class_old="bghgrau" class="bggruen" onclick="switchMarkierung(this)">

      function switchMarkierung( zeile )
      {
        if ( zeile.getAttributeNode( "class_old" ))
        {
          zeile.setAttribute( "class", zeile.getAttribute( "class_old" )); // Attributwert setzen
          zeile.removeAttribute( "class_old" );
          zeile.removeAttribute( "title" );
        }
        else
        {
          var farbe = document.createAttribute("class_old"); // Attribut erzeugen
          farbe.nodeValue = zeile.getAttribute( "class" );   // Wert zuweisen
          zeile.setAttributeNode(farbe);                     // neuen Knoten setzen

      var titel = document.createAttribute("title");
          titel.nodeValue = "vom Benutzer markiert";
          zeile.setAttributeNode(titel);

      zeile.setAttribute( "class", "bggruen" );          // Attribut value setzen
        }
      }

      Ist das nicht zulässig?

      <a href="javascript:zeigAdressformular( 0, 0, 3648)" title="Satz ändern"><p class="button ro">161</p></a>
      a darf keine Blockelemente enthalten.

      Hmm, Klick auf den Button ist beser als Klick auf ein Zeichen ...

      <i class="em08 cdrot">2 <b>A</b></i>
      auch kein Fehler, aber Murks^3.

      Das habe ich nicht verstanden. <i> und <b> kann man doch schachteln?

      <td class="sp06 co"><a href="javaScript:zeigGruppe()"></a></td>
      ein Link ohne Inhalt?

      Ja, Gruppe ist nicht vorhanden. Könnte ich abfangen (PHP).

      Was kann das sein?
      haufenweise erforderliche Fehlerkorrektur durch den Browser...

      Na, mal sehen, ob das nach Korrektur behoben ist.

      Kalle

      1. Mahlzeit,

        <tr title="vom Benutzer markiert" class_old="bghgrau" class="bggruen" onclick="switchMarkierung(this)">
        tr kennt kein Attribut "class_old".

        Wieso?

        Weil das so in den http://de.selfhtml.org/html/referenz/attribute.htm#tr@title=Spezifikationen steht.

        class_old wird per Javascript gesetzt, um die alte Hintergrundfarbe zu speichern, die beim zweiten Klick wiederhergestellt wird:

        Das ist vollkommen irrelevant. Wenn Du nicht-W3C-konforme Attribute verwendest, darfst Du Dich nicht wundern, wenn Dein Browser durcheinanderkommt. Du hast Deine Seiten doch validiert?

        Ist das nicht zulässig?

        Nein (s.o.).

        <a href="javascript:zeigAdressformular( 0, 0, 3648)" title="Satz ändern"><p class="button ro">161</p></a>
        a darf keine Blockelemente enthalten.

        Hmm, Klick auf den Button ist beser als Klick auf ein Zeichen ...

        Das hat damit nichts zu tun. Du darfst schlicht und ergreifend lt. http://de.selfhtml.org/html/referenz/elemente.htm#a@title=Spezifikation innerhalb eines <a> keine Blockelemente (zu denen auch <p> zählt) verwenden.

        <td class="sp06 co"><a href="javaScript:zeigGruppe()"></a></td>
        ein Link ohne Inhalt?

        Ja, Gruppe ist nicht vorhanden. Könnte ich abfangen (PHP).

        Solltest Du (wenn nicht noch per Javascript irgendein Inhalt in den Link hineinkommt) - ein Link ohne Inhalt (d.h. auch ohne etwas, auf das man draufdrücken könnte) ist sinnlos.

        Was kann das sein?
        haufenweise erforderliche Fehlerkorrektur durch den Browser...

        Na, mal sehen, ob das nach Korrektur behoben ist.

        Dabei kann Dir der Validator helfen ...

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      2. Hi,

        <i class="em08 cdrot">2 <b>A</b></i>
        auch kein Fehler, aber Murks^3.

        Das habe ich nicht verstanden. <i> und <b> kann man doch schachteln?

        darum geht's ja auch nicht. Du verwendest hier völlig überflüssige und semantisch sinnlose Elemente - und nebenbei bemerkt auch noch wenig sinnvolle Klassennamen.

        freundliche Grüße
        Ingo