JavaScript: overenie viacerých radio button

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod zenofex 16. 12. 2008 21:45

Ahojte,
potrebujem poradiť s jedným problémom. Chcem pomocou JavaScriptu skontrolovať, či bolo kliknuté na jeden z dvoch radio buttonov alebo nie. Ak áno, premenná "pokracuj" má dostať hodnotu "true". Ak nie, má sa vypísať chybová hláška cez window.alert a premenná "pokracuj" má dostať hodnotu "false".

Ja som vytvoril niečo takéto, ale nefunguje mi to (iba ak použijem iba jeden radio button). Pri dvoch mi to nefugnuje. Máte nejaký nápad? Vďaka za pomoc.

<script language="JavaScript" type="text/JavaScript">
function kontrola(){
if (document.getElementById('sprava1').checked!=true)
{
window.alert("Nezvolili ste ani jeden radio button!");
pokracuj=false;
}
else pokracuj=true;
}
</script>

<form method='post' action='odoslat.php'>
<input type='radio' id='sprava1' value='Doma'> Doma
<input type='radio' id='sprava1' value='Skola'> Skola
<input type='submit' id='odoslat' value='Odoslať' onClick="kontrola(); return pokracuj">
</form>
zenofex
Junior
Uživatelský avatar

Odeslat příspěvekod Vebloud 17. 12. 2008 00:00

Jestli to nebude tím, že getelementbyID vrací pouze jeden prvek. Ono totiž ID by mělo být v celém dokumentu jedinečné.
Na označování formulářových polí se používá atribut name. Chtělo by to nastudovat základy (X)HTML z oblasti formulářů.
Stejně tak může mít název i celý furmulář a pak se to dělá takhle:
Kód: Vybrat vše
<script language="JavaScript" type="text/JavaScript">
function kontrola(){
if (form1.kde.value != "Doma" || form1.kde.value != "Skola")
{
window.alert("Nezvolili ste ani jeden radio button!");
return false;
}
return true;
}
</script>

<form method='post' action='odoslat.php' name="form1">
<input type='radio' id='rbutton1' name="kde" value='Doma'> Doma
<input type='radio' id='rbutton1' name="kde" value='Skola'> Skola
<input type='submit' id='odoslat' value='Odoslať' onClick="return kontrola();">
</form>

Akorát si nejsem jist, jestli přistupuje k té hodnotě dobře, ale myslím že by to mělo fungovat. Za syntaktické chyby neručím. Trošku jsem to celé poupravil, aby to nebylo tak netransparetní.

BTW: Nauč se používat code tag, je to tlačítko v té liště, kde se formátuje text.
Žít a nechat žít, ty máš svůj názor, já mám svůj názor, já ti nebudu nutit svůj, nemusím souhlasit s tvým, ale udělám vše, abys ho mohl svobodně vyjádřit.
Vebloud
Ex-moderátor
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků