Kontrollera att någon radioknapp är vald

JavaScript

3 svar · 367 visningar · startad av dude

Medlem sedan aug. 2002386 inlägg
Trådstart#1

Trodde detta skulle vara superlätt, men jag lyckades inte. Jag har ett formulär och behöver kolla så att någon av de fyra alternativen som finns bland radioknapparna är valt (https://www.rollinsnow.se/nyarsresan/boka.php <-så att man inte skippar att välja vilken resa man vill med på). Alltså så att man inte postar formuläret utan att ha valt något av radioknapparnas alternativ...

<input name="vecka" type="radio" value="1" class="inget" onChange="hide_city(0)">
            
<input name="vecka" type="radio" value="7" class="inget" onChange="hide_city(7)">
             
<input name="vecka" type="radio" value="8" class="inget" onChange="hide_city(8)">

<input name="vecka" type="radio" value="9" class="inget" onChange="hide_city(9)">
Medlem sedan dec. 2004736 inlägg
#2

Det finns en javascript-property som heter checked, vilken du kan kolla mot alla radiobuttons så att den är true. Men annars kan man väl aldrig "unchecka" en radiobutton, utan man måste välja någon av dessa? I så fall kan du ju bara ge den första checked, så vet du att någon är vald.

Medlem sedan aug. 2002386 inlägg
#3

Testade följande utan att något hände:


if (myForm.vecka.checked == false) {
alert("Du måste välja vilken resa du vill med på.");
myForm.vecka.focus();
return false;
}

Jag vill inte att något första-alternativ ska vara ifyllt för då är det lite risk att någon glömmer att fylla i vilken resa de vill med på och då alltså bokar in sig på den för-ifyllda resan...

Medlem sedan dec. 20025 483 inlägg
#4
var isWeekChosen = false;
for (var i = 0; i < myForm.vecka.length; ++i)
{
  if (myForm.vecka[i].checked)
  {
    isWeekChosen = true;
    break;
  }
}
if (!isWeekChosen)
{
  alert("Du måste välja vilken resa du vill med på.");
  return false;
}
280 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
140 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
138 ms — ändringar (db)