Avatar billede krogstrup Nybegynder
30. maj 2006 - 13:38 Der er 4 kommentarer og
1 løsning

Script til at itere gennem array af checkboxe

Hej alle

Jeg har en dynamisk opbygget formular der består af et kendt antal grupper/serier, som hver indeholder et ukendt antal checkboxe. Kunne f.eks. se således ud:

Gruppe 1
[] option 1
[] option 2
[] option 3

Gruppe 2
[] option 1
[] option 2
[] option 3

osv osv.

Alle checkboxe under hver gruppe har et fælles navn. F.eks. hedder alle checkboxe under første serie "gruppe1" i checkbox name.

Ved submit af formularen har jeg brug for at et javascript løber igennem samtlige checkboxe der findes en hver specificeret serie. Hvis der ikke er afkrydset min. 1 checkbox under mindst 3 serier skal scriptet komme med en alert, der informerer brugeren om at der skal vælges en option i mindst 3 serier.

Jeg forestiller mig at scriptet fungerer på den måde at der laves et array indeholdende navnene på de serier (dvs. navnet på de checkboxe der ligger under serien) der findes på siden.

Herefter skal scriptet 'blot' loope igennem disse serier. For hver serie skal scriptet loope igennem alle de checkboxe der hører til serien. Så snart dette loop 'rammer' en checkbox der er afkrydset, skal en tæller-variabel tælles 1 op og loop af nuværende serie afsluttes, således at der springes til loop af næste serie. På den måde har man, når der er loopet igennem alle serier, et tal der fortæller hvor mange serier, der er afkrydset en checkbox i.

Således kan man afslutningvis sende en alert såfremt denne tæller har en værdi på under 3 !

Jeg håber ovenstående gir mening :-)

Mit problem er at jeg ganske enkelt ikke er stærk nok i javascript til at skrive ovenstående fra bunden af.

Håber en venlig sjæl kan hjælpe mig igang !
Avatar billede krogstrup Nybegynder
30. maj 2006 - 13:40 #1
Det skal bruges til denne side:
http://grupperabat.wkh.dk/1-42-tilmelding.html
Avatar billede mclemens Nybegynder
30. maj 2006 - 20:17 #2
Noget i denne stil?




<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">

var runarr=['fugle','influenca','heste','sko'];

function chkboxchk(){
tmpval=0;

for(i=0;i<runarr.length;i++){
tmpr=document.getElementsByName(runarr[i]);
for(i2=0;i2<tmpr.length;i2++){
  if(tmpr[i2].checked){tmpval++;i2=tmpr.length;}
}
}

if(tmpval<3){alert("Du skal vælge 3");return false;}

else return true;
}

</script>

</head>

<body>
<form name="minform" action="#" method="get" onsubmit="return chkboxchk();">

Vælg en:<br>
<input type="checkbox" name="fugle" value="fugle 1"><br>
<input type="checkbox" name="fugle" value="2 fugle"><br>
<input type="checkbox" name="fugle" value="fugle3"><br><br>

Vælg en:<br>
<input type="checkbox" name="influenca" value="forste influenca 1"><br>
<input type="checkbox" name="influenca" value="2 influenca"><br>
<input type="checkbox" name="influenca" value="3 influenca"><br>
<input type="checkbox" name="influenca" value="influenca 4"><br><br>

Vælg en:<br>
<input type="checkbox" name="heste" value="forste hest 1"><br>
<input type="checkbox" name="heste" value="2 hest"><br>
<input type="checkbox" name="heste" value="anden hest"><br><br>

Vælg en:<br>
<input type="checkbox" name="sko" value="sko1"><br>
<input type="checkbox" name="sko" value="sko - - 2"><br>
<input type="checkbox" name="sko" value="sko 3"><br><br>

... Du skal mindst vælge 3! <br>

<input type="submit" value="afsend">
</form>
</body></html>
Avatar billede krogstrup Nybegynder
30. maj 2006 - 21:28 #3
Lige præcis - det virker perfekt !

Tusind tak for din hjælp :-)

Smider du et svar ?
Avatar billede mclemens Nybegynder
30. maj 2006 - 21:31 #4
yes :)
Avatar billede mclemens Nybegynder
30. maj 2006 - 21:36 #5
- og tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester