Jag är på jakt efter en radio-button validering som både funkar om man har endast en radio, eller flera med samma namn.
Om man alltid har flera är det ingen konst, inte heller om det alltid är en, men nu är det så att jag har en "poll" som kan ha 1->många alternativ. Visst, ett svar används väl sällan eller aldrig, men funktionen borde väl ändå att få till?
/red:
Kan ju bifoga den kod jag har idag och som validerar om man har flera alternativ:
function checkPoll() {
var pa = false;
for (n=0; n<document.PollForm.poll_alt.length; n++){
if (document.PollForm.poll_alt[n].checked)
pa = true;
}
if (pa == false) {
alert ("Du måste välja ett alternativ.");
return false;
}
}
Letade efter var jag använder den kod i inlägget i som jag markerat som löst, men hittar inte det. Tror det var så att jag inte hade tid att vänta på svar, det räckte med den lösning jag redan hade.
Då får man alltså justera valideringen för varje frågeomgång.
nja. Vill inte fungera riktigt, eller rättare sagt, den validerar inget.
På en och samma sida kan detta ske, då jag loopar ut pollarna, och därigenom även en validator för varje. Onödigt? kanske det :)
<form name="PollForm_2" action="" onsubmit="checkPoll_2();">
<input type="radio" name="poll_alt" value="1">Ja
<input type="radio" name="poll_alt" value="2">Nej
<input type="submit" value="Skicka">
</form>
<script language="javascript">
function checkPoll_2() {
var pa = false;
for (n=0; n<document.PollForm_2.poll_alt.length; n++){
if (document.PollForm_2.poll_alt[n].checked)
pa = true;
}
if (pa == false) {
alert ("Du måste välja ett alternativ.");
return false;
}
}
</script>
/
..
\
<form name="PollForm_13" action="" onsubmit="checkPoll_13();">
<input type="radio" name="poll_alt" value="1">Ja
<input type="submit" value="Skicka">
</form>
<script language="javascript">
function checkPoll_13() {
var pa = false;
for (n=0; n<document.PollForm_13.poll_alt.length; n++){
if (document.PollForm_13.poll_alt[n].checked)
pa = true;
}
if (pa == false) {
alert ("Du måste välja ett alternativ.");
return false;
}
}
</script>
Så frågan är om man kan ta den funktionen jag har idag men utöka den att även "fatta" när det bara finns en radio och i så fall kolla att den är ikryssad. Har jag inte helt fel blir det en array om man har flera alternativ med samma namn. Kan man inte kolla på nåt smart sätt i javascript om det just är en array, om inte kolla så att den enda som finns är ikryssad?
Den övre av dessa två fungerar precis som önskat, men den undre säger alltid att man måste kryssa i ett alternativ, fast den enda som finns är ikryssad.
Jag gjorde två olika "checkar", en för om det endast finns ett alternativ och en om det finns flera. Sen kolla jag vid utskrift om vilken check som ska skrivas.
253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e