Axel Richter: IE Name Problem

Beitrag lesen

Hallo,

Das komische ist, wenn ich eine Id mit dem gleichen Namen angebe funktioniert es auch im IE.

Ja, dann mach das so. Das stört die anderen Browser nämlich nicht.

Das Problem habe ich hier mal in einem aufs Wesentliche verkürzten Beispiel zusammengestellt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
function init() {
input = document.createElement('INPUT');
input.type = "text";
input.name = "test";
//input.id = "test";
document.forms[0].getElementsByTagName("P")[0].appendChild(input);
}
//-->
</script>
</head>
<body onload="init();">
<form action="#" method="get">
<p>
<input type="button" name="set1" value="set1" onclick="document.forms[0].elements['test'].value='0';">
<input type="button" name="set2" value="set2" onclick="this.form.elements['test'].value='1';">
<input type="submit" name="ok" value="ok">
</p>
</form>
</body>
</html>

Ohne ID kennt der IE document.forms[0].elements['test'] nicht, mit ID schon. Er kennt aber document.forms[0].elements[3]. Das deutet darauf hin, dass das beim Setzen des name-Attributes via JavaScript vom IE das namedItem in der elements-Collection nicht ergänzt wird, sondern nur das Item.

viele Grüße

Axel

PS.: Ein solches vollständiges Kurzbeispiel von Dir oder ein Link zum hochgeladenen vollständigen Beispiel hätte einige Rückfragen hier ersparen können.