2013-04-04 51 views
0

我有jQuery驗證問題。jQuery表單驗證在多個if語句中不起作用

HTML:

<form action="#" name="validate" onsubmit="return validateRegistration();"> 
    <input type="text" id="username" value="Username" /> 
    <input type="text" id="email" value="Email" /> 
    <input type="text" id="phone" value="Phone" /> 
</form> 

function validateRegistration() { 

    var username = $('#username').val(); 
    var email = $('#email').val(); 
     var phone = $('#phone').val(); 

    if(username=='' || username == 'Username'){ 
     $('#username').after('<span class="error">Enter a username</span>'); 
    } 

    if(email=='' || email == 'Email'){ 
     $('#email').after('<span class="error">Please enter a valid email address</span>'); 
    } 

    if(phone=='' || phone == 'Phone'){ 
     $('#phone').after('<span class="error">This field is required.</span>'); 
     return false; 
    } 
} 

驗證工作時的形式中沒有任何價值。如果我只填寫電話字段,則表單將以return true提交。我不能在所有字段中輸入return false,因爲所有驗證錯誤都應該一次顯示。我給出的代碼簡短而且原創。我有30多個領域,所以任何主要的變化都是痛苦的。任何幫助?

+0

嘗試清除()的變量'函數validateRegistration值{VAR用戶名=( 「」); var email =(「」); var phone =(「」)}' – John 2013-04-04 06:48:55

+0

請在標記問題時加倍小心。這與[tag:jquery-validate]插件無關。編輯。謝謝。 – Sparky 2013-04-04 14:42:29

+0

@Sparky對不起,我永遠不會知道該標籤是用於jQuery驗證插件。我會照顧它。 – Sree 2013-04-08 05:11:37

回答

1
function validateRegistration() { 
     var notError = true; 
     var username = $('#username').val(); 
     var email = $('#email').val(); 
      var phone = $('#phone').val(); 

     if(username=='' || username == 'Username'){ 
      $('#username').after('<span class="error">Enter a username</span>'); 
      notError = false; 
     } 

     if(email=='' || email == 'Email'){ 
      $('#email').after('<span class="error">Please enter a valid email address</span>'); 
      notError = false; 
     } 

     if(phone=='' || phone == 'Phone'){ 
      $('#phone').after('<span class="error">This field is required.</span>'); 
      notError = false; 
     } 

     return notError; 
    } 

希望這將滿足您的需求

+0

或簡化最後一位:返回錯誤; – 2013-04-04 07:22:49

+0

@c_kick我按照你的建議編輯:D – 2013-04-04 07:28:29

+0

@Dan Cuong謝謝。有效。 – Sree 2013-04-08 05:12:18