Andreas: Unterschied zwischen IE und Firefox

Hallo,

ich habe eine Tabelle, bei der ich mittels JavaScript den Inhalt von drei Zeilen aendern moechte, wenn in einer Drop-Down-Box eine andere Option gewaehlt wird. Dazu habe ich zwei <tr> mit id definiert und greife darauf mit getElementById zu.
Mein Code funktioniert im Firefox einwandfrei und ich bekomme keinen Fehler (verwende Firebug). Im IE passiert aber gar nichts. Es wird noch nicht mal ein Fehler angezeigt. Hier ist mein Code:

<select size='1' id='step2' onchange='printStep2(this)' style='width:200px'>
<option value='empty' selected='selected'>[ select option ]</option>
<option value='enterList'>Enter list of accessions</option>   <option value='uploadFile'>Upload file with accessions</option>
</select>

<script language="JavaScript">
function printStep2(elem) {
 var type = elem.options[elem.options.selectedIndex].value;
 if (type == "empty") {
  elem.form.reset();
  return;
 } else {
  if (type == "enterList") {
   document.getElementById('define').innerHTML = "<td>test</td>";
          document.getElementById('warning').innerHTML = "<td>test2</td>";
  } else if (type == "uploadFile") {
                        document.getElementById('define').innerHTML = "<td>test3</td>";
          document.getElementById('warning').innerHTML = "<td>test4</td>";
</script

Hat jemand eine Ahnung was ich falsch mache?

Danke fuer die Hilfe,
Andreas

  1. Hallo,

    Mein Code funktioniert im Firefox einwandfrei und ich bekomme keinen Fehler (verwende Firebug).

    Naja, in dem hier geposteten Code fehlen zumindest einige schließende geschweifte Klammern.

    Im IE passiert aber gar nichts. Es wird noch nicht mal ein Fehler angezeigt.

    Bei mir schon, denn innerHTML ist für TR-Elemente im IE read-only, siehe http://msdn2.microsoft.com/en-us/library/ms533897.aspx.

    Probiere die TD-Elemente mit Hilfe von createElement zu erzeugen und mit replaceChild in die TR-Elemente einzuhängen.

    viele Grüße

    Axel

    1. Hallo Axel,

      Mein Code funktioniert im Firefox einwandfrei und ich bekomme keinen Fehler (verwende Firebug).
      Naja, in dem hier geposteten Code fehlen zumindest einige schließende geschweifte Klammern.

      Das liegt daran, dass ich nur einen kleinen relevanten Teil kopiert habe, den aber nicht mehr ausprobiert habe.

      Im IE passiert aber gar nichts. Es wird noch nicht mal ein Fehler angezeigt.
      Bei mir schon, denn innerHTML ist für TR-Elemente im IE read-only, siehe http://msdn2.microsoft.com/en-us/library/ms533897.aspx.

      Das war der entscheidende Hinweis. Ich habe jetzt leere TDs in die entsprechenden TRs gemacht und aendere nun deren Inhalt. So funktioniert es wunderbar.

      Danke,
      Andreas