jQuery validate 不会验证 keyup 上的输入,直到它失去焦点一次
我有一个使用 jQuery 验证 进行验证的表单。然而,这工作得很好,我的表单总是包含默认值:
<input type="text" value="0" name="myname" class="required number error">
当用户第一次更改输入框中的值时,在输入失去焦点之前不会进行验证。第一次之后,输入中的任何按键/更改事件都将导致验证。
如何强制验证始终在 keyup/change 上进行,而不是在初始更改后进行。
I have a form with validation using jQuery validation. This works perfectly however, my form always contains default values:
<input type="text" value="0" name="myname" class="required number error">
When a user first changes the values in the input boxes, no validation occurs until the input loses focus. After this first time any keyup / change event inside the input will result in validation.
How can I force the validation to occur on keyup / change ALL the time as opposed to after an initial change.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用“onkeypress”事件而不是“onchange”事件。
use "onkeypress" event instead "onchange" event .
在
.validate()
函数之后尝试此块:Try this block after the
.validate()
function:你能把你的js部分用于
validate()
初始化吗?你尝试过类似的事情吗
Could you put your js part for the
validate()
initialisation ?Did you try something like
作为快速答案,将
$('#yourForm input, #yourForm select').live('keyup change', function(e) { })
侦听器添加到您的表单中,然后检查它是否是第一个时间输入受到影响,然后通过$('#yourForm").validate();
强制验证它As a quick answer put
$('#yourForm input, #yourForm select').live('keyup change', function(e) { })
listener to your form and then check if it's the first time input is affected, and then force validate it by$('#yourForm").validate();