webForumDet fria alternativet

Kontrollera flera checkboxar?

3 svar · 292 visningar · startad av -torlejf-

-torlejf-Medlem sedan feb. 2000156 inlägg
#1

Hej!
Jag har nu suttit o sökt o sökt o sökt efter en lösning som passar mitt problem men har ännu inte fått ihop nått vettigt.

Det jag söker är en formulär kontroll av flera checkboxar.
Jag vet aldrig hur många checkboxar det rör sig om för de listas från en databas.
Det jag vill är att om man inte ha kryssat i nån av alla checkboxarna sak man få ett fel meddlenade om detta, en helt vanlig alert ruta som man har på alla adnra formulär-kontroller. :)

Formuläret heter "del_event" och checkboxarna heter "del"
Hoppas ni har nån fiffig lösning!

Sov gott!
/ David

dectgapMedlem sedan sep. 20021 542 inlägg
#2

I detta exemplet ligger checkboxarna som första element i formuläret.

<script type="text/javascript">
function kontrolleraForm(theForm){
  var ifylld=false; 
  var i=0; 

  do{ 
    if( theForm.elements[i].checked ){ 
       ifylld = true; 
       break; 
    } 
  i++; 
  } 
  while(i<theForm.elements['del'].length); 

  if (!ifylld){ 
    alert ("Du måste kryssa i en ruta"); 
     return false; 
  }

  return true;
}
</script>

...

<form onsubmit="return kontrolleraForm(this)" name="del_event">
<input type="checkbox" name="del" />
<br />
<input type="checkbox" name="del" />
<br />
<input type="checkbox" name="del" />
<br />
<input type="submit">
</form>
-torlejf-Medlem sedan feb. 2000156 inlägg
#3

Kan man utöka ovanstående script med en confirm ruta?

Alltså, när du har markerat en eller flera rutor och klickar på submit knappen vill jag att en ruta ska komma upp:
"Är du säker på att du vill ta bort dessa?"

Tacksam för hjälp!

dectgapMedlem sedan sep. 20021 542 inlägg
#4
<script type="text/javascript">
function kontrolleraForm(theForm){
  var ifylld=false; 
  var i=0; 

  do{ 
    if( theForm.elements[i].checked ){ 
       ifylld = true; 
       break; 
    } 
  i++; 
  } 
  while(i<theForm.elements['del'].length); 

  if (!ifylld){ 
    alert ("Du måste kryssa i en ruta"); 
     return false; 
  }

  return confirm("Är du säker på att du vill ta bort dessa?");
}
</script>
Genererad på 385 ms · cache AV · v20260730165559-full.f96bc7eb