Avatar billede hansen Nybegynder
30. november 2004 - 11:57 Der er 8 kommentarer og
1 løsning

Hvis checked, så udfyld mailfelt

Jeg behøver lidt hjælp til en formular.
Jeg har en masse validering på om felterne er udfyld, men behøver to felter mere.

Hvis en bruger sætter et hak i checkfeltet "mail_ja" så skal han have en besked om at han skal udfylde mailfeltet også.
Hvis han udfylder mailfeltet først, så skal der en påmindelse om at han har glemt at acceptere at modtage info via mail.
Der skal også tjekkes på om e-mailen er korrekt indtastes.

Kan du hjælpe til her ?

Her er resten af mit valideringsscript som det skal sidde i nederst, tak.

--
<script type="text/javascript">
function validerThis(theform){
 
    if (!theform.f_navn.value.length > 0) {
      alert("Du glemte at indtaste dit navn !");
      theform.f_navn.focus();
      theform.f_navn.select();
      return false;
    }
 
    if (!theform.e_navn.value.length > 0) {
      alert("Du glemte at indtaste dit efternavn !");
      theform.e_navn.focus();
      theform.e_navn.select();
      return false;
    }
 
    if (!theform.adr.value.length > 0) {
      alert("Du glemte at indtaste en adresse !");
      theform.adr.focus();
      theform.adr.select();
      return false;
    }

 
    if (!theform.postnr.value.length > 0) {
      alert("Du glemte at indtaste et postnr !");
      theform.postnr.focus();
      theform.postnr.select();
      return false;
    }
 
    if (!theform.byen.value.length > 0) {
      alert("Du glemte at indtaste en by !");
      theform.byen.focus();
      theform.byen.select();
      return false;
    }
   
    if (!theform.land.value.length > 0) {
      alert("Du glemte at indtaste et land !");
      theform.land.focus();
      theform.land.select();
      return false;
    }

    reg = /^[\w]{1}[\w\.\-_]*@[\w]{1}[\w\-_\.]*\.[\w]{2,6}$/i;
    if(!theform.mail.value.match(reg)){
        alert('Email skal udfyldes og være gyldig!!');
        theform.mail.focus();
        theform.mail.select();
        return false;
    }
    return true;
}
</script>
--
Avatar billede roenving Novice
05. december 2004 - 10:40 #1
reg = /^\w[\w\.\-_]*@\w[\w\-_\.]*\.\w{2,6}$/i;
    if(theform.mail_ja.checked&&!theform.mail.value.match(reg)){
        alert('Email skal udfyldes og være gyldig!!');
        theform.mail.focus();
        theform.mail.select();
        return false;
    }else if(!theform.mail_ja.checked&&!!theform.mail.value.match(reg)){
        alert('Hvis email udfyldes skal du også afkrydse Modtag Mail-feltet!!');
        theform.mail_ja.focus();
        return false;
    }
Avatar billede hansen Nybegynder
20. december 2004 - 14:48 #2
Hej, beklager den lange ventetid.
Jeg kan ikke få det til at spille med din kode, jeg har klisteret den ind jvf. nedenstående kode, har jeg gjort noget galt :

<script type="text/javascript">
function validerThis(theform){
 
    if (!theform.f_navn.value.length > 0) {
      alert("Du glemte at indtaste dit navn !");
      theform.f_navn.focus();
      theform.f_navn.select();
      return false;
    }
 
    if (!theform.e_navn.value.length > 0) {
      alert("Du glemte at indtaste dit efternavn !");
      theform.e_navn.focus();
      theform.e_navn.select();
      return false;
    }
 
    if (!theform.adr.value.length > 0) {
      alert("Du glemte at indtaste en adresse !");
      theform.adr.focus();
      theform.adr.select();
      return false;
    }

 
    if (!theform.postnr.value.length > 0) {
      alert("Du glemte at indtaste et postnr !");
      theform.postnr.focus();
      theform.postnr.select();
      return false;
    }
 
    if (!theform.byen.value.length > 0) {
      alert("Du glemte at indtaste en by !");
      theform.byen.focus();
      theform.byen.select();
      return false;
    }
   
    if (!theform.land.value.length > 0) {
      alert("Du glemte at indtaste et land !");
      theform.land.focus();
      theform.land.select();
      return false;
    }

    reg = /^\w[\w\.\-_]*@\w[\w\-_\.]*\.\w{2,6}$/i;
    if(theform.mail_ja.checked&&!theform.mail.value.match(reg)){
        alert('Email skal udfyldes og være gyldig!!');
        theform.mail.focus();
        theform.mail.select();
        return false;
    }else if(!theform.mail_ja.checked&&!!theform.mail.value.match(reg)){
        alert('Hvis email udfyldes skal du også afkrydse Modtag Mail-feltet!!');
        theform.mail_ja.focus();
        return false;
    }
    }
    return true;
}
</script>
Avatar billede roenving Novice
21. december 2004 - 22:36 #3
Hvordan går det galt ?-)

Går den videre uden fejlmelding eller ...
Avatar billede hansen Nybegynder
22. december 2004 - 09:41 #4
Den validerer overhovedet ikke for mail eller checkbox - den sender brugeren uhindret forbi maildelen.
Avatar billede roenving Novice
22. december 2004 - 09:46 #5
Der er jo også to slut-tuborger efter hinanden, en for mange !-)
Avatar billede roenving Novice
22. december 2004 - 09:54 #6
-- du får da også javascript-fejl med den kode ?-)
Avatar billede hansen Nybegynder
10. januar 2005 - 11:52 #7
Tak for hjælpen, jeg har løst det på anden måde nu.
Giver du et svar roenving
Avatar billede roenving Novice
11. januar 2005 - 18:02 #8
Oki '-)
Avatar billede roenving Novice
11. februar 2005 - 12:38 #9
-- og tak for point ;~}
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