Hallo Gernot,
elemente = document.getElementsByName('form_1')[0].getElementsByName("elemente_1");
Also, das scheint hier nicht zu klappen.
document.getElementsByName('form_1')[0]
ist doch ein form-Element und kennt somit getElementsByName() nicht, oder? Getestet mit Mozilla Firefox 2.0.0.14 auf Linux.
var gnubbel = document.form_1.getElementsByTagName('input');
geht natürlich auch nicht, da nicht immer alle input-Element angesprochen werden sollen. Und immer divs um alle betroffenen Elemente packen ist auch doof.
Hier ein kleines Beispiel:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD>
<script type="text/javascript" language="JavaScript"><!--
[code lang=javascript]
function foo(elemente, formname)
{
var gnubbel = document.getElementsByName(elemente);
// var gnubbel = document.getElementsByName(formname)[0].getElementsByName(elemente);
var zahl = gnubbel.length;
for (i=0; i < zahl; i++){
gnubbel[i].setAttribute("type", "radio");
gnubbel[i].style.marginLeft = "50px";
}
}
//--></script>
</HEAD>
<body>
<form name="form_1" id="form_1" style="margin:200px 200px; border:1px solid;">
<a href="javascript:foo('s1', 'form_1')">foo</a><br><br>
<input type="checkbox" name="s1" id="s01" value="1">1<br>
<input type="checkbox" name="s1" id="s02" value="2">2<br>
<input type="checkbox" name="s1" id="s03" value="3">3<br>
<input type="checkbox" name="s1" id="s04" value="4">4<br>
</form>
<form name="form_zwei" id="form_zwei" style="margin:200px 200px; border:1px solid;">
Diese Elemente sollen nicht angesprochen werden:<br>
<input type="checkbox" name="s1" id="s05" value="1">1<br>
<input type="checkbox" name="s1" id="s06" value="2">2<br>
<input type="checkbox" name="s1" id="s07" value="3">3<br>
<input type="checkbox" name="s1" id="s08" value="4">4<br>
</form>
</body>
</html>
[/code]