2012-01-20 43 views
1

我有一個使用jQuery validation驗證的表單。然而,這完美的作品,我的窗體始終包含默認值:jQuery驗證沒有驗證輸入在keyup上,直到它失去了焦點一次

<input type="text" value="0" name="myname" class="required number error"> 

當用戶第一次改變了輸入框的值,則不會發生驗證,直到輸入失去焦點。在第一次之後,輸入內的任何鍵入/更改事件都將導致驗證。

我如何強制驗證發生在鍵盤上/改變所有的時間,而不是在初始更改之後。

回答

1

使用「onkeypress」事件而不是「onchange」事件。

0

作爲一個快速的回答把$('#yourForm input, #yourForm select').live('keyup change', function(e) { })收聽到您的表單,然後檢查它是否是第一次輸入的影響,然後迫使你可以把你的js部分的初始化validate()通過$('#yourForm").validate();

0

驗證呢?

你有沒有嘗試類似

$('#your_form input').keyUp(function() { 
    $(this).parents('form').validate(); 
}); 
1

試試這個塊.validate()功能後:

$('input').keyup(function(){ 
    if(!$(this).valid()){ 
     return false; 
    } 
});