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