Im IE8 kann ich nach einem kurzen Test bestätigen, dass es unnötig zu sein scheint. Gilt das auch für ältere IEs?
Ja (getestet bis IE 6).
Das type-Attribut kann ganz normal gesetzt werden, bevor das input-Element eingehängt ist. Danach ist es nur lesbar.
Problematisch ist das name-Attribut. Aber auch nur insofern, dass input.name = "..." nicht dazu führt, dass das Element über die http://de.selfhtml.org/javascript/objekte/elements.htm@title=elements-Collection über dessen Namen oder ID erreichbar ist.
Will man das unbedingt, so ist die proprietäre Aufrufweise von createElement nötig:
<!DOCTYPE html>
<html><body>
<form><p id="target"></p></form>
<script>
[code lang=javascript](function () {
var input = document.createElement('input');
input.type = 'checkbox';
input.name = 'eins';
document.getElementById('target').appendChild(input);
input = document.createElement('<input type="checkbox" name="zwei">');
document.getElementById('target').appendChild(input);
alert(document.forms[0].elements.eins);
alert(document.forms[0].elements.zwei);
})();
</script>
</body></html>[/code]
Das ist seit IE 8 gefixt, betrifft also zumindest IE 6 und 7.
Credits: Struppi und JürgenB, SELFHTML Forum.
Mathias