molily: createElement, checkbox und der IE

Beitrag lesen

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