Kan nån hjälpa mig med ett javascript som på något sätt loopar igenom alla radiobuttons och kollar så här:
* Är någon av totalt 3st med name="Question_1" ifylld? Om inte -> alert("Du har glömt att fylla i minst en fråga");
* Är någon av totalt 3st med name="Question_2" ifylld? Om inte -> alert("Du har glömt att fylla i minst en fråga");
Förstår ni?
Letar efter en smidig lösning så min kod slipper bli så lång. Det går ju att validera alla för sig, men det borde ju gå att loopa igenom dom på något sätt?
Jag försöker göra så att när den loopar igenom och hamnar på Question_8_a så ska den kontrollera om Question_8_a är markerad, men är den inte markerad samtidigt som Question_7_a's värde är lika med "Ja" så är det OKEJ att Question_8_a inte är markerad.
Alltså så här:
Fråga 7: Gillar du Javascript? JA / NEJ
Fråga 8: Vid Nej ovan, gillar du även HTML? JA / NEJ
Så Fråga 8 är bara obligatorisk vid ett NEJ på fråga 7.
Jag tänkte så här, men det funkar inte:
<script language="JavaScript">
<!--
function validateForm(form) {
for(var l=1;l<=2;l++) {
var wasChecked = false;
for (var i=0;i<form["Question_"+l+"_a"].length;i++) {
if (form["Question_"+l+"_a"][i].checked) {
wasChecked = true;
break;
}
[B] if (!form["Question_8_a"][i].checked) {
if (form["Question_7_a"][i].value == "Ja") {
wasChecked = true;
break;
}[/B]
}
if(!wasChecked) {
alert('fyll i alla fält...');
return false;
}
}
}
-->
</script>
<form name="enkat" method="post" action="do.asp" onsubmit="return validateForm(this);">
variablen i är ju är så pass stor som loopen var, vilket kommer ge dig fel resultat, om du har 5 val på den sista i loopen så kommer den försöka hitta val Question_8A val 5 vilket är fel.
Flytta din if fråga in till den generella loopen och kolla om l är 8 och om det är det så få du kolla igenom alla 7_a svar och se om den som är markerad är värdet "Ja".
132 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe