Avatar billede refshauge Nybegynder
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)
Avatar billede =maddog= Nybegynder
20. januar 2003 - 17:25 #1
jeg tror ikke du må bruge [ og ] i name
Avatar billede _darkstar_ Nybegynder
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) ...
Avatar billede refshauge Nybegynder
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.
Avatar billede refshauge Nybegynder
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.
Avatar billede _darkstar_ Nybegynder
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) ...
Avatar billede refshauge Nybegynder
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´?
Avatar billede Slettet bruger
21. januar 2003 - 16:16 #7
Du kan vel gøre noget lignende:

while ($tmp<10) {
    echo $_POST["type_" . $tmp++];
  }
Avatar billede refshauge Nybegynder
07. juli 2003 - 14:30 #8
lukker og slukker...
Avatar billede roenving Novice
07. juli 2003 - 14:39 #9
<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="">
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