2016-03-05 34 views
0

我有這個HTML form並嘗試在客戶端進行驗證。 這是HTML表單的驗證功能。爲什麼來自驗證的html不起作用?

function registerValidate() { 
    var have_error = "No"; 
    var email = $('#userEmail').val(); 
    var pwd = $('#password').val(); 
    var pwdr = $('#passwordr').val(); 
    var email_re = /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i; 

    if (!email.match(email_re)) { 
     $('#email-error').html('Please enter a valid email'); 
     have_error = "Yes"; 
    }else{ 
     $('#email-error').html('');  
    } 

} 

當我點擊「創建我的帳戶」,填補了文本輸入框裏面所有的教科書中消失,並且不顯示錯誤消息,甚至它應該顯示錯誤消息。

什麼可能是錯的?

+0

用戶點擊時驗證表單有什麼意義? – Teemu

+0

@Teemu,我需要先檢查一下客戶端是否有效的電子郵件和有效的密碼。然後使用Ajax發送到服務器,然後再次在服務器上驗證。這就是我想說的。如果我在客戶端看到錯誤,我將不會發送到服務器。 – batuman

+0

但是,任何單擊窗體將驗證它。另一方面,如果用戶使用選項卡瀏覽表單,則永遠不會獲得點擊。通常,驗證是在表單的提交處理程序中完成的。 – Teemu

回答

0

你什麼時候調用這個函數?在表單提交?也許你的表格已經被提交併且所有數據字段都被清除。 你能提供源代碼嗎?

+0

是的我在原始帖子中有小提琴的源代碼。 – batuman

+0

現在看起來這個函數registerValidate()沒有被調用。 – batuman

+0

@batuman你必須選擇jQuery版本和「沒有換 - 」讓你的小提琴工作。 – Teemu

相關問題