2015-09-13 55 views
1

我面臨的問題與表單驗證的JavaScript。 在其中一種形式的JavaScript函數工作正常,並在其他形式時,我試圖做表單驗證,但腳本不啓動..我已經嘗試了很多次,以清除我的瀏覽器緩存並刷新頁面但我沒有得到任何結果。 我會很感激,如果有人檢討它,並幫助發現問題。 以下是我的首頁上工作的功能:爲什麼我的JavaScript不能在我的PHP頁面上工作?

<script> 
    function validate() 
{ 
    var uid = document.getElementById("usrname").value; 
    var pwd = document.getElementById("passwd").value; 
    if (uid == "" || pwd == "") { 
    alert("Empty fields not allowed"); 
     return false; 
    } 
    else if (uid.length < 4 || uid.length > 20) { 
      alert("User ID string length should be between 4 - 20"); 
      return false; 
     } 
    else if (pwd.length < 6 || pwd.length >20) { 
      alert("Password length should be between 6 - 20"); 
      return false; 
     } 
     return true; 
} 

    </script> 
<form name="ulogin" action="login.php" method="post" onSubmit="return validate();"> 

其他頁面上下面的驗證代碼不運行:

<script> 
    function regval() 
    { 
    var cname = document.getElementById("name1").value; 
    var email = document.getElementById("email").value; 
    var phn = document.getElementById("phone").value; 
    var addr1 = document.getElementById("addr1").value; 
    var addr2 = document.getElementById("addr2").value; 
    var city = document.getElementById("city").value; 
    var state = document.getElementById("state").value; 
    var country = document.getElementById("country").value; 
    var uname = document.getElementById("uname").value; 
    var pwd = document.getElementById("passwd").value; 
    var cnfp = document.getElementById("cnf_passwd").value; 
    var secans = document.getElementById("sec_ans").value; 
    var regex=/^[0-9]+$/; 
    var alphanum=/^[a-z0-9]+$/i; 

    if(cname == "" || email == "" || phn == "" || addr1 == "" || addr2 == "" || city == "" || state == "" || state == "" || country == "" || uname == "" || pwd == "" || cnfp == ""|| secans == "") { 
     alert("Empty fields not allowed"); 
     return false; 
     } 
    if (cname.length < 3 || cname.length > 20) { 
     alert("Name length should be between 4-20 characters."); 
     return false; 
     } 
    if (email.length < 10 || email.length > 50) { 
     alert("email length should be between 10-50 characters."); 
     return false; 
     } 
    if (phn.length < 7 || phn.length > 11) { 
     alert("check phone number length."); 
     return false; 
     } 
     else if (!phn.match(regex)) { 
     alert("Please check inputs, only numbers are allowed.!"); 
     return false; 
     } 

    if (city.toLowerCase() != "surat" || state.toLowerCase() != "gujarat" || country.toLowerCase() != "india") { 
     alert("Sorry, we only serve in surat currently at the moment..!!"); 
     return false; 
     } 
    if (uname.length < 4 || uname.length > 20) { 
     alert("user name should be between 4 - 20 characters."); 
     return false; 
     } 
     else if (!uname.match(alphanum)) { 
      alert("only characters A-z 0-9 are allowed."); 
      return false 
     } 

    if (pwd.length < 6 || pwd.length > 30) { 
     alert("password length should be between 6 - 30 characters."); 
     return false; 
     } 
     else if (!pwd.match(alphanum) { 
      alert("Only characters A-z 0-9 are allowed."); 
      return false; 
     } 

    if (pwd != cnfp) { 
     alert("the passwords do not match, please check and try again."); 
     return false; 
     } 

    if (secans.length < 5 || secans.length > 20) { 
     alert("please check for security answer length. It should be between 5 to 20 characters."); 
     return false; 
     } 
      return true; 
    } 
    </script> 

<form name="usreg" action="signup.php" method="POST" onSubmit="return regval();"> 

腳本標籤都在我網頁的head標籤。

在此先感謝。

+0

檢查您的瀏覽器調試工具。 – samayo

+0

我敢打賭,有一個控制檯錯誤 - 開發人員工具將顯示您。一個斷點也可以使它清楚。 – duffymo

回答

3

缺少右括號)這裏else if (!pwd.match(alphanum) {

if (pwd.length < 6 || pwd.length > 30) { 
    alert("password length should be between 6 - 30 characters."); 
    return false; 
    } 
    else if (!pwd.match(alphanum) { 
     alert("Only characters A-z 0-9 are allowed."); 
     return false; 
    } 

應該

if (pwd.length < 6 || pwd.length > 30) { 
    alert("password length should be between 6 - 30 characters."); 
    return false; 
    } 
    else if (!pwd.match(alphanum)) { 
     alert("Only characters A-z 0-9 are allowed."); 
     return false; 
    } 

注:請經常瀏覽器控制檯日誌中的錯誤。

+0

哦......天啊..!感謝您指出它..它現在的作品.. –

相關問題