Avatar billede ste Nybegynder
14. februar 2004 - 17:32 Der er 12 kommentarer og
1 løsning

Validering af checkbox.

Jeg har følgende måde at validere en formular på. Nu vil jeg gerne have valideret en checkbox også. Hvordan gøres dette.
function validate(form1) {

    //Navn-feltet
    if (form1.HaInitialer.value == "") {
    alert("Husk at angive dit navn!");
    document.form1.HaInitialer.focus();
    return false;
    }
    else {
        //Frist-feltet
        if (form1.Frist.value == "") {
        alert("Husk at angive frist for udførelse af handling!");
        document.form1.Frist.focus();
        return false;
        }
        else {
        //Type-feltet
        if (form1.Hatype.value== "") {
        alert("Husk at angive type for handling!");
        document.form1.Hatype.focus();
        return false;
        }   
          else {
        //Beskrivelse-feltet
        if (form1.Habeskrivelse.value == "") {
        alert("Husk at udfylde beskrivelse af handling!");
        document.form1.Habeskrivelse.focus();
        return false;
        }
        }
      }
    }
  return true;
}

Hatype er checkboxen.

Håber på hurtigt svar.
Avatar billede roenving Novice
14. februar 2004 - 17:37 #1
if (!form1.Hatype.checked) {
        alert("Du skal acceptere typen !-)");
        document.form1.Hatype.focus();
        return false;
        }
Avatar billede ste Nybegynder
14. februar 2004 - 18:59 #2
Jeg ved ikke om det gør nogen forskel at det er en radio button. Men alerten bliver ved med at komme selv om jeg har valg radio butten.
Avatar billede roenving Novice
14. februar 2004 - 19:08 #3
Jo, det betyder noget, har du flere af den ?-)

For har du flere, skal der testes på hver enkelt:

var chkd = false
for(i=0;form1.Hatype.length>i;i++){
  chkd = (chkd||form1.Hatype[i].checked);
}
if(!chkd){
        alert("Du skal angive typen !-)");
        document.form1.Hatype.focus();
        return false;
        }
Avatar billede ste Nybegynder
14. februar 2004 - 20:04 #4
Ja jeg har to knapper til at angive enten den ene eller anden type, og der skal vælges en type.
Avatar billede ste Nybegynder
14. februar 2004 - 20:16 #5
Hvordan får jeg denne lille ting skrevet ind i den anden validering rutine.
Avatar billede ste Nybegynder
14. februar 2004 - 20:29 #6
Knapperne har det samme navn.
Avatar billede roenving Novice
15. februar 2004 - 03:34 #7
Hvis de begge hedder Hatype, skriver du ovenstående ind i din rutine:

function validate(form1) {

  //Navn-feltet
  if (form1.HaInitialer.value == "") {
    alert("Husk at angive dit navn!");
    document.form1.HaInitialer.focus();
    return false;
  }
  //Frist-feltet
  if (form1.Frist.value == "") {
    alert("Husk at angive frist for udførelse af handling!");
    document.form1.Frist.focus();
    return false;
  }
  //Type-feltet
  if (form1.Hatype.value== "") {
    alert("Husk at angive type for handling!");
    document.form1.Hatype.focus();
    return false;
  }   
  //Beskrivelse-feltet
  if (form1.Habeskrivelse.value == "") {
    alert("Husk at udfylde beskrivelse af handling!");
    document.form1.Habeskrivelse.focus();
    return false;
  }
  var chkd = false
  for(i=0;form1.Hatype.length>i;i++){
    chkd = (chkd||form1.Hatype[i].checked);
  }
  if(!chkd){
    alert("Du skal angive typen !-)");
    document.form1.Hatype.focus();
    return false;
  }
  return true;
}
Avatar billede roenving Novice
15. februar 2004 - 03:36 #8
Iøvrigt kunne du jo også være så fræk at angive en default type, for når først der er valgt i en radio, så kan man ikke fjerne mere ...

<input type="radio" name="Hatype" value="" checked>
Avatar billede roenving Novice
15. februar 2004 - 03:37 #9
Hov, du havde jo type-feltet med, men du kan vel godt fjerne den gamle ...
Avatar billede ste Nybegynder
15. februar 2004 - 19:37 #10
Jeps det virker. Grunden til at jeg ikke ønsker at en af knappen er forud valgt er at jeg ønsker at fremtvinge et bevidst valg hos brugerne, så hvis ikke de ser knapperne skal de gøres opmærksom på dem. Tak for din ondsats. Hvis du så lige gider at smide et svar så du kan få din dusør.
Og dog. Jeg har lige et tillægs spørgsmål her på falde rebet. Hvordan kan det være at else sætningerne kan undlades. Nu tænker jeg på om de heller ikke var nødvendige i den form som jeg brugte først.
Avatar billede roenving Novice
15. februar 2004 - 19:41 #11
De var ikke nødvendige, fordi funktionen alligevel bruger return ...

return betyder det den siger: "gå tilbage, hvor du kom fra" og i dette tilfælde er det stedet, der blev kaldt fra, hvilket betyder, at den ikke går videre i din funktion !-)

-- og velbekomme '-)
Avatar billede ste Nybegynder
15. februar 2004 - 19:45 #12
Når ok. Så jeg ikke kun fået løst mit problem men også lært noget. Jeg går udfra at hvis jeg har flere knapper af med forskellige navne indsætter jeg bare rutinen med de respektive navne.
Avatar billede roenving Novice
15. februar 2004 - 20:13 #13
Præcis, ja !-)

-- og tak for points ;~}
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