2011-12-17 57 views
0

所以我已經對單個空白onblur進行了一些驗證,但它們只是顯示一條消息,它們不會阻止表單處理。我決定嘗試使用變量「validationError」來記錄驗證是否已通過,但現在每次提交表單時,該網站都會凍結並崩潰。有一個更好的方法嗎? onblur錯誤消息仍然有效。Jquery和Javascript驗證崩潰頁面

相關的js文件準備好功能:

$("#studentEmail").blur(function() { 
      $(".studentEmailError").empty(); 
      var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
      email1Value = $(this).val()  
      if(!emailReg.test($(this).val())) { 
       $(".studentEmailError").html('Please enter a valid email'); 
       validationError = "true"; 
      } 
      else { 
      validationError="false"; 
      } 
     }); 




$(".submit").click(function() { 

    if (validationError == "true") { 
    return false; 
    } 

    else if (validationError == "false"){ 
    //PROCESS INFORMATION 
    } 
+0

此時沒有看起來可能崩潰了。你有沒有試過看看Firefox的Firebug或Chrome的開發者工具是否告訴你任何錯誤?另外,使用「true」和「false」而不是布爾值true和false是沒有意義的。 – Corbin 2011-12-17 05:38:46

+0

我建議使用其中一個驗證插件,而不是重新發明輪子。同意Corbin。剛試過jsfiddle - 不會崩潰。 – 2011-12-17 05:40:43

回答

1

它可能會崩潰,因爲你是在這條線上缺少一個分號:

email1Value = $(this).val() 

你也不應使用字符串值作爲「布爾」。只需設置變量的布爾值:

validationError = true; 

,那麼你可以這樣做:

if(validationError){ 
    //code here 
}