Klaus: Fehlermeldung: [Object Error] beim Zugriff auf ein Element

Beitrag lesen

Hi!

warum verursacht die erste Variante im Internet Explorer ein Fehler?
Internet Explorer Fehlermeldung: [Object Error]

Das Formularelement xy wird dynamisch per javaScript erzeugt.

In Opera 9.64 und Firefox 3.0.10 funktionieren beide Varianten.

Variante 1 funktioniert nicht im Internet Explorer

function replaceXY(obj){  
  try{  
    var elementName = "xy";  
    var check = false;  
    for(var i = 0; i < obj.elements.length; i++){  
      if(obj.elements[i].name == elementName){  
        check = true;  
        break;  
      }  
    }  
    if(check){  
      var newValue = "$Expdir$/" + "" + obj.elements[elementName].value;  
      obj.test.options[obj.test.selectedIndex].value = newValue;  
    }  
  }  
  catch(e){  
    return false;  
  }  
  return true;  
}

Variante 2 funktioniert im Internet Explorer

function replaceXY(obj){  
  try{  
    var elementName = "xy";  
    var elementObject;  
    var check = false;  
    for(var i = 0; i < obj.elements.length; i++){  
      if(obj.elements[i].name == elementName){  
        elementObject = obj.elements[i];  
        check = true;  
        break;  
      }  
    }  
    if(check){  
      var newValue = "$Expdir$/" + "" + elementObject.value;  
      obj.test.options[obj.test.selectedIndex].value = newValue;  
    }  
  }  
  catch(e){  
    return false;  
  }  
  return true;  
}

Klaus