Hallo André Mantz
Hallo,
<script type="text/javascript">
counter=0;
while(counter<document.getElementsByName('item').length) {
counter++;
document.getElementsByName('item')[counter-1].checked="true";
}
</script>Mal abgesehen davon, dass ich nicht verstehe warum man auf Formularelemente mit getElement zugreifen muss ist das falsch
hmmm ... also funktionieren tut es, warum ist es also falsch? Gefallen tut mir diese Lösung allerdings überhaupt nicht, ich finde es sehr unschön, eine zusäzliche Zählervariable zu definieren.
Warum es falsch ist, steht auf den Seiten, die ich verlinkt hatte. (checked darf die Wert 0/1 und true/false enthalten, da oben wird aber ein string zugewiesen)
Was ich immer noch nicht verstehe, warum weder das ...
for (var Element in document.getElementsByName('item'))
{
Element.checked = 1;
}... noch das hier ...
for (var Element in document.formname.checkboxname)
{
Element.checked = 1;
}funktioniert. Eigentlich müsste doch in beiden Fällen bei jedem Schleifendurchlauf die Variable Element auf ein <input type="checkbox" name="item" ...> - Feld verweisen, oder wo ist mein Denkfehler?
keine Ahnung bei mir funktioniert es. nicht funktionieren ist auch keine Fehlerbeschreibung, die erklärt, was falsch läuft, evtl. solltest du die Fehlermeldung genauer studieren (Mozilla hilft dir da deutlich besser als der IE).
Hier ein Beispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Testcase</title>
<script type="text/javascript">
function test()
{
var f = document.forms[0].elements['item'];
for(var e in f)
{
alert(e);
}
}
</script>
</head>
<body onload="test();">
<form>
<input type="checkbox" name="item">
<input type="checkbox" name="item">
<input type="checkbox" name="item">
<input type="checkbox" name="item">
<input type="checkbox" name="item">
<input type="checkbox" name="item">
<input type="checkbox" name="item">
</form>
</body>
</html>
Struppi.