20. januar 2003 - 17:23
Der er
8 kommentarer og 1 løsning
Validering af checkboxe
Jeg har nogle checkboxe i en form, der hedder f.eks.: <INPUT TYPE="checkbox" NAME="type[1]" VALUE="1"> <INPUT TYPE="checkbox" NAME="type[2]" VALUE="1"> Jeg skal bruge et lille javascript, der checker om der er en af dem, der er kryds i. Jeg har prøvet følgende uden held: if (!document.form.type.1.checked)
Annonceindlæg fra Barco
20. januar 2003 - 17:25
#1
jeg tror ikke du må bruge [ og ] i name
20. januar 2003 - 17:40
#2
Det virker med sikkerhed ikke. Du kan ikke kalde dine checkbokse for type[1], type[2] og så videre og så forvente at JavaScript automatisk putter dem i et array til dig. Du bliver nødt til at lave noget i stil med: <INPUT TYPE="checkbox" NAME="type_1" VALUE="1"> <INPUT TYPE="checkbox" NAME="type_2" VALUE="1"> og så if (!document.form.type_1.checked) ...
20. januar 2003 - 18:25
#3
Jeg er ret overbevist om at det kan lade sig gøre. Jeg mener jeg har gjort det et andet sted, men kan ikke finde det.
20. januar 2003 - 18:26
#4
Glemte lige: Jeg kan ikke bruge darkstars løsning, da det ikke duer til det jeg senere skal bruge variablerne til.
20. januar 2003 - 19:21
#5
Hvis du *skal* have dem ned i et array, så gør det manuelt: <INPUT TYPE="checkbox" NAME="type_1" VALUE="1"> <INPUT TYPE="checkbox" NAME="type_2" VALUE="1"> og så type = new array(type_1,type_2, ...); og if (!document.form.type[1].checked) ...
20. januar 2003 - 22:23
#6
hmmmm.... Det jeg har brug for er, at jeg i min form kan lave et antal checkboxes, som jeg kan validere. Dette kan jeg godt med Darkstars metode. På den side, som jeg submitter til, har jeg brug for at kunne løbe en PHP-løkke igennem og hente værdien ud af mine checkboxe. Eksempel [groft forenklet]: while ($tmp<10) { echo $type[$tmp++]; } Dette kan jeg vidst ikke gøre med darkstars metode. Eller hva´?
Slettet bruger
21. januar 2003 - 16:16
#7
Du kan vel gøre noget lignende: while ($tmp<10) { echo $_POST["type_" . $tmp++]; }
<script language="javascript" type="text/javascript"> var checks = "" function checkChecks(f){ for(i=0;f.elements.length>i;i++){ if(f.elements[i].type=='checkbox'&&f.elements[i].checked==true)checks+=f.elements[i].name+","; } f.checkvaerdier.value=checks; } </script> <form ... onsubmit="checkChecks(this);"> <input type="hidden" name="checkvaerdier" value="">
Vi tilbyder markedets bedste kurser inden for webudvikling