viele Checkboxen auf einmal aktivieren ... wie?
André Mantz
- javascript
0 Ferret0 Struppi0 André Mantz0 Struppi
Hallo,
ich habe in einem HTML-Formular eine ganze Reihe Checkboxen, welche alle das Attribut name="item" haben.
Nun möchte ich diese Checkboxen alle auf einmal ankreuzen.
Ich habe es mit folgender Schleife probiert, aber es funzt nicht:
for (var Element in document.getElementsByName('item'))
{
Element.checked = 1;
}
Was mache ich falsch? Danke für Eure Hilfe.
Gruß, André
Hallo
probiers mal so...
einfach durchlesen, dann kappierst das schon...
<script type="text/javascript">
counter=0;
while(counter<document.getElementsByName('item').length) {
counter++;
document.getElementsByName('item')[counter-1].checked="true";
}
</script>
probiers mal so...
einfach durchlesen, dann kappierst das schon...<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
http://selfhtml.teamone.de/javascript/objekte/elements.htm#checked
Und Formularelemente lassen sich so refrenzieren: http://selfhtml.teamone.de/javascript/objekte/forms.htm
Struppi.
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.
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?
Gruß, André
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.