Autor Zpráva
KrawN
Profil *
for(j=1;j<=5;j++){
     if (document.getElementById(eval("spravna"+j)).checked=="1") spravne++;
}


Ahoj,
tímto jsem chtěl do proměnné spravne (je nadefinována, nebojte) dát počet jen těch radiobuttonů s názvy
spravna1, spravna2, spravna3, spravna4, spravna5
, které jsou momentálně zaškrtnutý. V chybovém hlášení mi to píše, že
spravna1
(tímpádem i ostatní) není nadefinována. Přitom ten radiobutton má ID fakt
spravna1
. Rád to píšu pomocí toho FOR, zdá se mi to lepší nežli psát 5x IF...
Kdyby někdo věděl čím to může být tak bych byl vděčnej. I za odkaz někam kde je to vysvětlený ;)
díky
/KrawN
Kcko
Profil
if (document.getElementById("spravna"+j).checked) spravne++;
peta
Profil
KrawN
viz kk
1. pro retezec+cislo nepotrebujes eval

2. checked miva hodnotu obvykle "checked",true,false,1,0 nikoliv "1".
"1" == true
"1" == 1
"1" === "1"
takze je to formalne spravne

3.
eval("spravna"+j) je totez jako bys napsal
spravna1
Jenze
document.getElementById(spravna1)
funguje pouze tehdy, kdyz do promenne spravna1 ulozit hodnotu, v tvem pripade by to vypadalo
eval("spravna"+j) = "spravna"+j;
alert(document.getElementById(eval("spravna"+j)));
pak to nebude hlasit undefined.

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: