Avatar billede badal Nybegynder
15. december 2004 - 14:22 Der er 9 kommentarer og
1 løsning

Validering af checkbox

1.
Jeg har to checkbox som har værdierne ja og nej. Der skal kontrolleres at en og kun en af checkbox er udfyldt. Hvordan laves dette?

2. Jeg har 5 checkboxe og mindst tre skal være udfyldt. Hvordan tjekkes dette ??
Avatar billede fennec Nybegynder
15. december 2004 - 14:27 #1
1. Her ville jeg bruge en radio button i stedet, da den klarer det for dig:
<input type="radio" name="myRadio" value="Ja">Ja
<input type="radio" name="myRadio" value="Nej">Nej
Avatar billede nicklasb Nybegynder
15. december 2004 - 14:29 #2
1. Hvorfor ikke i stedet bruge en radiobottom i det tilfælde?

2. Du opretter indledende en tællevariabel, og tjekker derefter igennem en løkke hvert af checkboxenes value, hvorefter du ved on-valuen ligger en til i tællevariablen. Bag efter kan den ønskede handling så udføres i tilfældet tællevariablen antager værdi af det du ønskede til at starte med (i det eksempel du har skitseret ovenfor - 3)
Avatar billede skovenborg Nybegynder
15. december 2004 - 14:30 #3
Jeg er enig med fennec i det første - der er ingen grund til ikke at udnytte radio-knappernes egenskab.

Til det andet kunne du skrive:
function valider(frm) {
      var valid = true;
      var antal = 0;
      for (i=1;i<=5;i++) {
          if (frm.elements["chk"+i].checked) {antal++;}
      }
      if (antal < 3) {valid = false;alert("Du skal krydse mindst 3 af");}
     
     
      return valid;
  }

<form onsubmit="return valider(this);">
Ja/Nej <input type="radio" name="janej" checked="checked" value="ja"><input type="radio" name="janej" value="nej">
<input type="checkbox" name="chk1">
<input type="checkbox" name="chk2">
<input type="checkbox" name="chk3">
<input type="checkbox" name="chk4">
<input type="checkbox" name="chk5">
<input type="submit">
</form>
Avatar billede fennec Nybegynder
15. december 2004 - 14:45 #4
Jeg har lavet et dynamisk script. Der er det lige meget hvor mang bokse der er. Og der kan være et forskellig minAntal.

<input type="Checkbox" name="MyCheck" value="1">Gruppe 1<br>
<input type="Checkbox" name="MyCheck" value="2">Gruppe 1<br>
<input type="Checkbox" name="MyCheck" value="3">Gruppe 1<br>
<input type="Checkbox" name="MyCheck" value="4">Gruppe 1<br>
<input type="Checkbox" name="MyCheck" value="5">Gruppe 1<br>
<input type="Checkbox" name="MyCheck1" value="1">Gruppe 2<br>
<input type="Checkbox" name="MyCheck1" value="2">Gruppe 2<br>
<input type="Checkbox" name="MyCheck1" value="3">Gruppe 2<br>
<input type="Button" value="Test 1" onClick="alert(check3box('MyCheck',3))">
<input type="Button" value="Test 2" onClick="alert(check3box('MyCheck1',2))">
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function check3box(boxname,minChecked)
{
    antalChecked = 0;
    myBox = document.getElementsByName(boxname);
    antal = myBox.length;
    for (f=0;f<antal;f++)
    {
        if(myBox[f].checked)
            antalChecked++;
    }
    if (antalChecked>=minChecked)
        return true;
    else
        return false;
}
//-->
</SCRIPT>
Avatar billede badal Nybegynder
15. december 2004 - 15:55 #5
En sidste spm inden i får pointene.
Hvis man har en checkbox og en tekst felt. Kravet er hvis man indtaster noget i tekstfeltet skal checkbox sættes til true automatisk. Hvordan gøres dette?
Avatar billede badal Nybegynder
15. december 2004 - 15:59 #6
Jeg vælgte iøvrigt at bruge radiobutton i spm 1
Avatar billede skovenborg Nybegynder
15. december 2004 - 15:59 #7
prøv:
<input type="text" onchange="this.form.tekstChk.checked = (this.value.match(/\S/ig)) ? true : false;"><input type="checkbox" name="tekstChk">
Avatar billede skovenborg Nybegynder
15. december 2004 - 16:00 #8
eller onkeyup istedet for onchange hvis det skal være løbende.
Avatar billede badal Nybegynder
17. december 2004 - 19:06 #9
Hej fenic og skovenberg.. Jeg kunne bruge funktionerne. de var meget effektive da der var mange felter der skulle valideres. Hvis i giver svar får i jeres velfortjente point
Avatar billede skovenborg Nybegynder
17. december 2004 - 19:23 #10
værgso' da :-)
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