Der Genervte: Ich dreh durch!!! (appendChild im IE)

Beitrag lesen

Hallo,

wer außer Bill Gates kann mir das erklären?

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<body>
<form action="#" method="get">
<!-- hier folgen die Formularelemente -->
</form>

<script type="text/javascript">

alert("Elements before: " + document.forms[0].elements.length);
alert("Test 1: " + document.forms[0].elements["xyz"]);

var myNode = document.createElement("input");
myNode.setAttribute("type", "hidden");
myNode.setAttribute("name", "xyz");
document.forms[0].appendChild(myNode);

alert("Elements after: " + document.forms[0].elements.length);
alert("Test 2: " + document.forms[0].elements["xyz"]);

</script>
</body>
</html>

Ausgabe 1: Elements before: 0
Ausgabe 2: Test 1: undefined
Ausgabe 3: Elements after: 1
Ausgabe 4: Test 2: undefined

Ausgabe 4 kann doch gar nicht sein, habs doch grad unter dem Namen eingefügt! Und die Elemente sind ja offensichtlich auch mehr geworden. Das gleiche Ergebnis erhalte ich mit

myNode.name = "xyz";

FRECHHEIT! Warum machte der IE das so bzw. wie greife ich auf dynamisch generierte Knoten zu, OHNE ihnen ne ID zu geben und danach mit document.getElementById("...") danach zu suchen?

Andi