Toon posts:

[Javascript] Radiobutton validation

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil graag met javascript kijken of een keuze is gemaakt met radio buttons.. nu heb ik het op een hoop verschillende manieren geprobeerd maar ik krijg het niet voor elkaar.. hier onder een stukkie code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form name="enquete" action="index.php" method="post" onsubmit="return validate()">
1) Eet je wel eens gezond?
<INPUT TYPE='radio' NAME='m_1' value='1'> Soms<BR>
<INPUT TYPE='radio' NAME='m_1' value='2'> Nooit<BR>
<INPUT TYPE="hidden" name=action Value="submit">
<INPUT TYPE="submit" Value="Rammen maar!">
<script type="text/javascript"> function validate()
{ 
correct = true 
if (eval("document.enquete.m_1.checked") == false)
{
alert("U bent vregeten een veld in te vullen!"); 
correct = false
} 
return correct}</script>

ook werkte het volgende niet:
code:
1
2
3
4
5
6
7
8
9
<script type="text/javascript"> function validate()
{ 
correct = true 
if (document.enquete.m_1.checked == false)
{
alert("U bent vregeten een veld in te vullen!"); 
correct = false
} 
return correct}</script>

en zelfs dit werkte ook niet:
code:
1
if (document.enquete.m_1.checked == "")

Raar want dit zijn de enigste manieren die ik heb gevonden om dit te kunnen oplossen.. wie heeft d'r een idee? 't zal vast wel reuze makkelijk zijn maar ik zie het even niet...

Verwijderd

Dat eval mag wel weg, je hebt gewoon een verkeerde naam gekozen.

Haal die underscore (_) weg, dus m1 ipv. m_1, en het werkt :)

Verwijderd

Topicstarter
Op donderdag 07 februari 2002 22:59 schreef Cheatah het volgende:
Dat eval mag wel weg, je hebt gewoon een verkeerde naam gekozen.

Haal die underscore (_) weg, dus m1 ipv. m_1, en het werkt :)
is d'r echt geen manier om het MET die underscore te kunnen laten werken? Het is namenlijk een vragenlijst die uit de database komt en de form processor die moet die underscore d'r in hebben zitten...

raar eigenlijk want voor een textfield werkt het volgende wel goed:
code:
1
2
3
4
5
if (document.enquete.o_2.value == "")
{
alert("U bent vregeten een veld in te vullen!"); 
correct = false
}

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Alle radio elementen met dezelfde naam zitten in een array, het heeft dus geen zin om te vragen of m_1 gechecked is.
Je moet vragen of een element uit de array gechecked is.
code:
1
2
3
4
if (document.enquete.m_1[0].checked)
{
  // doe iets
}

/edit:
of de array langslopen
code:
1
2
3
4
5
6
7
8
9
10
function validate()
{
    var bCorrect = false;
    var aRadioGroup = document.enquete.m_1;
    for (var i = 0; i < aRadioGroup.length; i++)
        bCorrect = bCorrect || aRadioGroup[i].checked;

    if (!bCorrect) alert("U bent vergeten een veld in te vullen!");
    return (bCorrect);
}

Today's subliminal thought is: