Perry: Formular-elemente schwimmen während dem Scrollen

Hi,

Ich habe ein Formular, dass Datensätze aus einer DB in Pulldown-Elemente einliest (select).

wenn ich mit IE 5.5 diese Seite anschaue, und dann Scrolle erzeugt mir der Browser die Elemente an falschen Positionen und sie überlappen sich ich kann die Select-Element dann auch nicht benutzen. Wenn ich mehrmals hoch und runter scrolle wird das Formular total verschossen. Dies geschied jedoch nicht immer sondern nur gelegentlich.

Beim NE 4.7 wird auch gelegentlich das formular nicht komplett angezeigt am ende fehlen einige Elemente.

Jedoch zeigen beide browser den Quelltext richtig an!

hier mal der php-code:
<!--//
.
.
.
  if (count($themas)>0){
    foreach($themas as $k => $thema){
      echo "<tr>\n";
      echo "  <td width=20>\n";
      echo $thema['id'];
      echo "  </td>\n";
      echo "  <td>\n";
      echo "  <table width=300 cellpadding=0 cellspacing=0 border=0>\n";
      echo "  <tr>\n";
      echo "    <td align=left>\n";
      echo "      <select name=keyw1_".$thema['id'].">\n";
      $arrAllKeys = explode(" ",$thema['keyword1']);
      foreach($arrAllKeys as $k => $v){
          echo "<option value='$k'>".$v."</option>";
      }
      echo "      </select>\n";
      echo "    </td>\n";
      echo "    <td align=right>\n";
      $arrAllKeys = explode(" ",$thema['keyword2']);
      echo "      <select name=keyw2_".$thema['id'].">\n";
      foreach($arrAllKeys as $k => $v){
          echo "<option value='$k'>".$v."</option>";
      }
      unset($arrAllKeys);
      echo "      </select>\n";
      echo "    </td>\n";
      echo "  </tr>\n";
      echo "  </table>\n";
      echo "  </td>\n";
      echo "  <td>\n";
      echo $thema['thema'];
      echo "  </td>\n";
      echo "  <td>\n";
      echo $thema['theme'];
      echo "  </td>\n";
      echo "  <td width=20>\n";
      echo "  <a href='javascript:openHelpSystem("".$thema['id']."")'><img src='./img/view.gif' width=24 height=19 border=0></a>";
      echo "  </td>\n";
      echo "  <td width=20>\n";
      echo "  <a href='./cms_edit_eintrag.php?thema=".$thema['id']."'><img src='./img/edit.gif' width=24 height=19 border=0></a>";
      echo "  </td>\n";
      echo "</tr>";
      flush();
    }
  }
.
.
.
//-->

hier mal der html-code:

<!--//
<form name=hallo>
<table width=300 cellpadding=0 cellspacing=0 border=0>
  <tr>
    <td align=left>
      <select name=keyw1_57>
<option value='0'>CSS</option><option value='1'>Skripte</option><option value='2'>Javascript</option>      </select>
    </td>
    <td align=right>
      <select name=keyw2_57>
<option value='0'></option>      </select>
    </td>
  </tr>
</table>
.
.
.
~ 50-60 mal wobei es auch manchmal auch 5-10 <options> in <selects> sind.
</form>
//-->

Kenn jemand das Problem und kann mir da bitte jemand helfen?

gruß Perry

  1. Hallo, Perry,

    auf verschiedenen Seiten ist mir auch schon das "schwimmen" bzw. ruckeln von Formularelementen aufgefallen. Ich vermute, daß dies mit dem Browser bzw. der Hardwareausstattung, nicht aber mit dem HTML- oder PHP-Code zusammenhängt. Scheinbar verwendet der Browser zum Rendern auch die anfänglich versteckten Select-Felder, was bei entsprechender Länge natürlich eine Weile dauern kann.

    Falls deine scheinbar äußerst umfangreichen Select-Menüs auf mehreren Seiten vorkommen, würde ich sie ohnehin in eine externe Javascript-Datei schreiben. Vielleicht hilft das ja - ich wüßte zwar nicht warum, aber Ausprobieren kann ja nicht schaden ...

    Möglicherweise solltest Du auch die Gliederung noch einmal überdenken und im Interesse von Performance und Usability weniger Auswahlmöglichkeiten in den Menüs bieten.

    Grüße,

    Sebastian