我有一个基于jQuery文档验证演示的表单:http://jsfiddle.net/ABbDS/1/。单击“提交”或“按Enter”会对其进行验证。
如何使标签 / 更改鼠标焦点 / 输入也验证? (所以他们马上知道电子邮件是
它基于:http://jquery.bassistance.de/validate/demo/milk/(执行此操作)和http://docs.jquery.com/Plugins/Validation/
单击下一个元素或点击标签时,我没有验证。 我发现的答案没有使用validate
插件。
编辑:这是正确答案吗? :https://stackoverflow.com/a/9381803/341744 $(this).valid()调用validate()的函数吗?
答案 0 :(得分:3)
关于onfocusout和onkeyup的documentation on the jquery site有点误导。它声明onfocusout和onkeyup是布尔值,这会让你相信你可以将它们的值设置为true或false。错误!您应该只将它们设置为false。如果将其值设置为true,则会出现此错误
未捕获TypeError:对象true没有方法'call'
这是因为默认的onfocusout和onkeyup是函数而不是布尔值。如果将值设置为false,则不会调用该函数,但如果设置为true,则会出现javascript错误。这种类型的编程很难像我这样习惯于强类型的程序员习惯,但非常聪明。
没有理由将onfocusout设置为true,因为默认行为是在失去焦点时验证,所以只需在代码中删除这两行
// remove these lines
// onfocusout:true,
// onkeyup: true
答案 1 :(得分:0)
您可以将quite a few events添加到可能对您有帮助的验证程序选项中。
示例:
onkeyup :
验证keyup上的元素。只要该字段未标记为 无效,没有任何反应。否则,将在每个密钥上检查所有规则 事件。
$(".selector").validate({
onkeyup: true
});