Avatar billede hansen Nybegynder
10. februar 2004 - 12:00 Der er 5 kommentarer og
1 løsning

Valider på Radiobuttons

Jeg har sammensat nedenstående kode fra eksperten, men har brug for en lille udbygning, jeg skal validere et par felter mere.

Hvis brugeren sætter et hak i nej (False) på en radiobutton (dagpenge, med værdien True eller False) så skal de også udfylde et notatfelt der hedder "dagpenge_nej"

Dette gælder også for Radiobutton'en ovrige_aktiviteter(true eller False) som kræver yderligere udfyldning i notatfeltet "ovrige_aktiviteter_ja" hvis "True"

Kan du hjælpe her ?

<script type="text/javascript">
  function valider(f){
    if(f.fornavn.value==""){
      alert("Fornavn skal udfyldes.");
      f.fornavn.select();
      f.fornavn.focus();
      return false;
    }
    if(f.efternavn.value==""){
      alert("Efternavn skal udfyldes");
      f.efternavn.select();
      f.efternavn.focus();
      return false;
    }
    if (f.passwrd.value=="" || f.passwrd2.value=="") {
      alert('Du skal udfylde begge kodeordsfelter. Prøv igen!');
      f.passwrd.focus();
      return false;
    }
    if (f.passwrd.value!=f.passwrd2.value) {
      alert('De to kodeord du har skrevet skal være ens. Prøv igen!');
      f.passwrd.focus();
      return false;
    }
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(f.email.value)){
    return true;
    }
    alert("Din e-mail er udfyldt forkert, indtast venligst en korrekt e-mail adresse.")
    return false;
    }
    return true;
  }
</script>
Avatar billede roenving Novice
10. februar 2004 - 12:10 #1
Er der eet eller to af dine radiobuttons ?-)

Her med een af hver:

    if(f.dagpenge.checked && !f.dagpenge_nej.value.match(/\w+/i)){
      f.dagpenge_nej.select();
      f.dagpenge_nej.focus();
      return false;
    }
    if(f.ovrige_aktiviteter.checked && !f.ovrige_aktiviteter_ja.value.match(/\w+/i)){
      f.ovrige_aktiviteter_ja.select();
      f.ovrige_aktiviteter_ja.focus();
      return false;
    }

-- og grunden til .match-tingen er at undgå, at der bare sættes et mllemrum eller lignende tegn (\w accepterer bogstaver, tal og _ underscore !-)
Avatar billede hansen Nybegynder
10. februar 2004 - 12:48 #2
Hej Roenving

Det ser ikke ud til at der bliver valideret på det !
Følgende stykke kode bliver sat ind ved radiobuttons, se bort fra ASP'en:

Ja <input type="radio" value="True" name="dagpenge" <%If rs("dagpenge") = "True" then Response.Write"checked"%>> Nej <input type="radio" value="False" name="dagpenge" <%If rs("dagpenge") = "False" then Response.Write"checked"%>>
Avatar billede roenving Novice
10. februar 2004 - 15:12 #3
Det var derfor jeg stillede spørgsmålet om de var i par !-)

-- men ville det ikke være mere optimalt med een checkbox pr. mulighed, for den er lettere at teste på ?-)

-- hvis det er fordi du har brug for at skrive værdien til databasen kan vi lave en lille simpel ting med et hidden felt, som du aflæser i stedet:

Ja <input type="checkbox" value="True" name="dagpenge" <%If rs("dagpenge") = "True" then Response.Write"checked"%> onclick="this.form.dagpenge_value=this.checked;">
<input type="hidden" value="<%Response.Write rs("dagpenge")%>>">

-- og så vil ovenstående virke ...

-- grunden til at jeg ikke bare laver en anden funktion er, at man med javascript kun kan aflæse værdier fra radios ved at teste på hver enkelt radio i en løkke !o]
Avatar billede hansen Nybegynder
11. februar 2004 - 13:55 #4
Svarer du lige !
Avatar billede roenving Novice
11. februar 2004 - 16:04 #5
Velbekomme '-)
Avatar billede roenving Novice
12. februar 2004 - 07:50 #6
-- 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

IT-JOB