Autor Zpráva
king26
Profil
Dobrý den, mám skupinku checkboxu s name="komu[]" (=výstup je pole) a jeden další checkbox, kterým chci všechny checkboxy s name="komu[]" označit. na ten samotnej checkbox jsem dal
onclick="if(document.add_message.select_all.checked) { document.add_message.komu[].checked=true; } else { document.add_message.komu[].checked=false; }

jenže to nefunguje, funguje to pouze, pokud je tam ten název jen 1x a není to pole (bez []), jak to mám udělat, aby to fungovalo? předem díky!!
Chamurappi
Profil
Reaguji na kinga26:
Viz Kontrola pole formulářových prvků.
king26
Profil
Tak po přečtení tématu, který si mi poslal jsem to snad pochopil a udělal takto:
<script langue="JavaScript">
function select(vstup) {
for(var i=0; i<vstup["komu[]"].length; i++) {
	if(vstup["select_all"].checked) {
		vstup["komu[]"][i].checked=true;
	} else {
		vstup["komu[]"][i].checked=false;
	}
}
};
</script>

<input onclick="select(this)" type="checkbox" name="select_all">
<input type="checkbox" name="komu[]">
<input type="checkbox" name="komu[]">
<input type="checkbox" name="komu[]">

Ale ani teď to nefunguje. Pokud tam vidíš chybu, poraď prosím. Nejsem žádný JavaScriptový master :(
Chamurappi
Profil
Reaguji na kinga26:
<input onclick="select(this)" type="checkbox" name="select_all">
Tvoje funkce select očekává jako vstup formulář, ty jí předáváš <input>.
Použij onclick="select(this.form)".
king26
Profil
bohužel ani poté, co jsem to opravil to nechce fungovat.

<script langue="JavaScript">
function select(vstup) {
for(var i=0; i<vstup["komu[]"].length; i++) {
    if(vstup["select_all"].checked) {
        vstup["komu[]"][i].checked=true;
    } else {
        vstup["komu[]"][i].checked=false;
    }
}
};
</script>
<form>
<input onclick="select(this.form)" type="checkbox" name="select_all">
<input type="checkbox" name="komu[]">
<input type="checkbox" name="komu[]">
<input type="checkbox" name="komu[]">
</form>
king26
Profil
zprovozněno, select nemůže být jako název funkce, chamurappi díky za pomoc!

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: