plan_B: createElement und IE

Beitrag lesen

moin Micha,

wie Struppi schon schreibst, hast du dich da vertan. Deine catch greift nicht, weil der IE glatt durchläuft.

deine anderes Konstrukt gefällt mir da schon besser  :)

  
try { elem.style.cursor = "pointer"; } catch(e){ elem.style.cursor = "hand"; }  

mit diesem Schnipsel will ich zeigen, dass man nur Probleme hat, wenn man auf die HTMLCollection zugreift. Auf name und type jedes einzelen Elements hat man Zugriff.
Ich teste mit einem 6-IE, möglich das ältere sich anders verhalten haben

  
<input type="button" value="test IE createElement" onclick="test_ie(this)">  
  
function test_ie(button) {  
  
  function ausgabe(elem,txt) {  
  alert(txt  
   +"\n\t.name: "+elem.name  
   +"\n\t.type: "+elem.type  
   +"\n\t.value: "+elem.value ); }  
  
 var form=button.form;  
 var cb_name="cbx";  
 for (var i=0;i<3;i++) {  
  var ip=document.createElement("input");  
  try {  
   ip.name=cb_name;  
   ip.type="checkbox";  
   ip.value=i;  
   form.appendChild(ip);  
  }  
  catch(e) {  
   alert("Fehler beim Attribut setzen ");  
  }  
  ausgabe(ip, "nach createElement: ip")  
 }  
  
 var cbs=form.elements[cb_name];  
 try {  
  for (var ie=cbs.length,i=0; i<ie;i++) {  
   ausgabe( cbs[i],  
   "HTMLColloection "+i+". Element");  
  }  
 }  
 catch(e) {  
  alert("cbs: "+ cbs+"\t"+typeof(cbs)+  
   "\n\nhier liefert der IE keine HTMLCollection");  
 }  
 var z=form.elements.length;  
 for (var i=z-3;i<z;i++) {  
  ausgabe( form.elements[i],  
   "Elementnamen kann man doch abfragen?\nelements["+i+"]")  
  }  
 }  

Gruß plan_B

--
     *®*´¯`·.¸¸.·