Moin!
Hier mal ein kleiner Test, der alle fuer den BODY im Quellcode definierten Attribute ausgibt.
Der Test ist gut. Und so harmlos auch im IE, wenn man die "richtigen" HTML-Elemente verwendet.
Aber wenn man die "falschen" nimmt, versagt der IE offenbar.
Ich habe deinen Testcase mal etwas aufgebohrt:
...
<body id="bd" bgcolor="#FFFFFF" text="#000000">
<input type="submit" name="hallo" value="+"><br>
<input type="text" name="werda" size="10" value="defaultbelegung"><br>
<input type="radio" name="sender" value="test"><br>
<script language="JavaScript" type="text/javascript">
<!--
var node,attr,l;
node=document.getElementsByTagName("input");
for (j=0; j<node.length; j++)
{
attr=node[j].attributes;
l=attr.length;
for(i=0;i<l;i++) {
if(attr[i].specified) {
document.write(attr[i].name+" ::: "+attr[i].value+"<br>");
}
else {
// document.write(attr[i].name+" - "+attr[i].value+"<br>");
}
}
document.write("<hr>");
}
//-->
</script>
</body>
...
Resultat:
Mozilla, Opera zeigen alle in den Inputs gesetzten Attribute an, IE nicht!
Das type-Attribut wird nicht angezeigt beim Textfeld, und das value-Attribut wird generell nicht angezeigt.
Nur die Schreibweise differiert etwas (z. B. bgColor, bgcolor, BGCOLOR -- also ggf. noch toLowerCase() anwenden.
Die Schreibweise wäre das kleinere Problem.
Ich denke, ich werde diesen Effekt mit einer Sonderbehandlung umgehen müssen: if nodeName="input" then ... *seufz*
- Sven Rautenberg