【问题标题】:jQuery validate doesn't validate an input on keyup until it has lost focus oncejQuery validate 不会验证 keyup 上的输入,直到它失去焦点一次
【发布时间】:2012-01-20 09:51:10
【问题描述】:
我有一个使用jQuery validation 进行验证的表单。这非常有效,但是,我的表单始终包含默认值:
<input type="text" value="0" name="myname" class="required number error">
当用户第一次更改输入框中的值时,在输入失去焦点之前不会进行验证。在第一次之后,输入中的任何 keyup / change 事件都将导致验证。
如何强制验证始终发生在 keyup / change 上,而不是在初始更改之后。
【问题讨论】:
标签:
javascript
jquery
validation
jquery-validate
【解决方案1】:
使用“onkeypress”事件代替“onchange”事件。
【解决方案2】:
在.validate()函数之后试试这个块:
$('input').keyup(function(){
if(!$(this).valid()){
return false;
}
});
【解决方案3】:
你能把你的js部分用于validate()初始化吗?
你有没有尝试过类似的东西
$('#your_form input').keyUp(function () {
$(this).parents('form').validate();
});
【解决方案4】:
作为快速回答,将$('#yourForm input, #yourForm select').live('keyup change', function(e) { }) 监听器放入您的表单,然后检查是否是第一次输入受到影响,然后通过$('#yourForm").validate(); 强制验证它