Avatar billede hav0k Nybegynder
02. januar 2006 - 15:57 Der er 1 løsning

Form valideringsscript virker ikke i IE

Jeg bruger følgende script til at validere en registreringsform for 1) obligatoriske felter (*) 2) gyldig e-mail og 3) passwords (ens og over 4 bogstaver lang). Det virker upåklageligt i Firefox, mens der dog i IE sker det at den aldrig når forbi den første function: ValidateForm(theForm), men hele tiden returnerer false, selvom alle de obligatoriske felter er udfyldt.

Valideringsscript:

<script language = "Javascript">
function ValidatePw(theForm){
    if (theForm.pw.value.length < 4) {
        alert("Password must as a minimum be 4 characters long!");
        theForm.pw.focus();
        return false;
    }
    if (theForm.pw.value != theForm.pw2.value){
        alert("Passwords doesnt match!");
        theForm.pw2.focus();
        return false;
    }
    return true;
}

/**
* DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
*/
function echeck(str) {

        var at="@"
        var dot="."
        var lat=str.indexOf(at)
        var lstr=str.length
        var ldot=str.indexOf(dot)
        if (str.indexOf(at)==-1){
          alert("Invalid E-mail")
          return false
        }

        if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
          alert("Invalid E-mail")
          return false
        }

        if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
            alert("Invalid E-mail")
            return false
        }

        if (str.indexOf(at,(lat+1))!=-1){
            alert("Invalid E-mail")
            return false
        }


        if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
            alert("Invalid E-mail")
            return false
        }

        if (str.indexOf(dot,(lat+2))==-1){
            alert("Invalid E-mail")
            return false
        }
       
        if (str.indexOf(" ")!=-1){
            alert("Invalid E-mail")
            return false
        }

        return true                   
    }

function ValidateEmail(){
    var emailID=document.userreg.email
   
    if ((emailID.value==null)||(emailID.value=="")){
        alert("Please Enter your Email!")
        emailID.focus()
        return false
    }
    if (echeck(emailID.value)==false){
        emailID.value=""
        emailID.focus()
        return false
    }
    return ValidatePw(userreg);
}

function ValidateForm(theForm) {
  if ((theForm.name_f.value != '') && (theForm.name_f.value != '') && (theForm.birth_d.value != 'Day') && (theForm.birth_m.value != 'Month') && (theForm.birth_y.value != 'Year') && (theForm.phone.value != '') && (theForm.phone.value != '+') && (theForm.country.value != '') && (theForm.country.value != '-- Country --') && (theForm.school_name.value != '') && (theForm.school_city.value != '') && (theForm.school_country.value != '') && (theForm.school_country.value != '-- Country --') && (theForm.school_phone.value != '') && (theForm.school_con.value != 'Write shortly how you are connected to the above school/institution (ex. as a teacher, student or parent).')){
      return ValidateEmail();
  }else{
      alert('You need to fill out all of the mandatory (*) fields!');
      return (false);   
  }
}
</script>

form:

<form action="<?=$pagenext;?>" method="post" name="userreg" onSubmit="return ValidateForm(userreg)">

osv osv
</form>
Avatar billede hav0k Nybegynder
03. januar 2006 - 15:57 #1
lukket
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