snoot: "Object erforderlich" - obwohl vorhanden

Beitrag lesen

Hi,

ich erhalte aus einem Ajax-Request eine Liste zurück (<ul><li>..</li></ul>) durch die ich mit den Pfeiltasten navigieren will.

Dazu speichere ich die Liste als naviElement und steuere dort dann curElement = naviElement.firstChild bzw. dann next- und previousSibling an. Im Ausgangs zustand ist also curElement = naviElement.firstChild. Wenn ich dann *das erste Mal* die Pfeiltaste runter drücke, wird *das zweite Element* angesprochen (das erste Element war ja das aktuelle und dann gehts mit nextSibling weiter).

Es soll beim ersten Mal aber das erste Element ausgewählt werden. Vor dem ersten Tastendruck soll also quasi kein Element ausgewählt sein. Und genau hier gibt's das Problem im Internet Explorer.

Setze ich zu Beginn curElement = null; wird bei Tastendruck zwar dann korrekt das erste Element angesprochen, jedoch meldet mir der IE: "Meldung: Objekt erforderlich / Zeile: 95 / Zeichen: 9 / Code: 0". Obwohl dort doch eigentlich korrekt curElement = naviElement.firstChild gesetzt wird (siehe Code unten). Das Script läuft dann zwar, aber es erscheint eben diese Meldung, die ich gerne noch beseitigen möchte. Firebug meldet mir an dieser Stelle nichts.

this.updateList = function (obj_new_list)  
{  
  obj_new_list.innerHTML = clearSpaces(obj_new_list.innerHTML)  
  naviElement = obj_new_list;  
  curElement = naviElement.firstChild;  
}  
  
...  
  
      case 40: // runter  
      if(curElement)  
      {  
        if(curElement.nextSibling)  
        {  
          curElement = curElement.nextSibling;  
          document.getElementById(txt_id).value = curElement.firstChild.id;  
        }  
      }  
      else  
      {  
        curElement = naviElement.firstChild;  
        document.getElementById(txt_id).value = curElement.firstChild.id; // Zeile 95 die den Fehler auslöst "Objekt erforderlich"  
      }  
      break;  
  
...

Hat jemand eine Idee, wie man dem IE die Flausen austreiben kann?

Danke.