0

我有一个基于 jQuery 文档的验证演示的表单:http: //jsfiddle.net/ABbDS/1/。单击提交或按回车会验证它。

如何使选项卡/更改鼠标焦点/键入也有效?(所以他们立即知道电子邮件是

它基于:http: //jquery.bassistance.de/validate/demo/milk/(这样做)和http://docs.jquery.com/Plugins/Validation/

单击下一个元素或点击选项卡时,我的没有验证。我找到的答案没有使用validate插件。

编辑:这是正确的答案吗?: https://stackoverflow.com/a/9381803/341744 $(this).valid() 是否调用了 validate() 的函数?

4

2 回答 2

3

jquery 网站上关于 onfocusout 和 onkeyup的文档有点误导。它指出 onfocusout 和 onkeyup 是布尔值,这会让您相信您可以将它们的值设置为 true 或 false。错误的!您应该只将它们设置为 false。如果将它们的值设置为 true,则会出现此错误

未捕获的类型错误:对象 true 没有方法“调用”

这是因为默认的 onfocusout 和 onkeyup 是函数而不是布尔值。如果将值设置为 false,则不会调用该函数,但如果设置为 true,则会出现 javascript 错误。这种类型的编程对于像我这样习惯于强类型的程序员来说很难适应,但非常聪明。

没有理由将 onfocusout 设置为 true,因为默认行为是在失去焦点时进行验证,因此只需删除代码中的这两行

// remove these lines
// onfocusout:true,  
// onkeyup: true
于 2012-11-22T21:00:12.477 回答
0

您可以将很多事件添加到可能对您有所帮助的验证器选项中。

例子:

onkeyup

验证 keyup 上的元素。只要该字段未被标记为无效,就不会发生任何事情。否则,将检查每个按键事件的所有规则。

$(".selector").validate({
   onkeyup: true
});
于 2012-06-07T19:46:59.400 回答