jQuery插件验证:onfocusin不起作用

时间:2011-01-17 13:47:53

标签: jquery plugins jquery-plugins validation

在这个名为Validate的着名jQuery插件中,有一个名为'onfocusout'的选项。但我想使用另一个名为'onfocusin'的文件,但没有记录,但代码中存在该插件,而插件的作者在回复中引用了它。

我一直在尝试的代码:

    <script type="text/javascript">
   $(document).ready(function() {
    $("form").validate({
     onsubmit: false,
     onkeyup: false, 
     onfocusin: true,
     onfocusout: false,
     rules: {
      nome: {
       required: true,
       minlength: 5
      }
     }
    })
   })
  </script>
 </head>
 <body>
  <form action="tutorial.php" method="post" enctype="text/plain" >
   <input type="text" name="nome" id="nome" />
   <button type="submit">Submit</button>
  </form>
 </body>

当我'关注'输入时,FireBug会显示此错误消息:

validator.settings[eventType].call is not a function [Stop on this error] 
validator.settings[eventType] && v...eventType].call(validator, this[0] ); 
jquery...date.js (line 305)

现在,黄金问题:如何解决这个问题?

链接:

验证插件:

bassistance.de/jquery-plugins/jquery-plugin-validation /

验证文档,选项页面:

docs.jquery.com/Plugins/Validation/validate#toptions

验证插件代码:

ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.js

验证作者对abouth onfocusin的回复:

groups.google.com/group/jquery-en/browse_thread/thread/652418e93c9618f1?pli=1

2 个答案:

答案 0 :(得分:7)

而不是onfocusin:true,请使用:

onfocusin: function(element) { $(element).valid(); }

我遇到了与此错误相同的问题
validator.settings[eventType] && ...eventType].call(validator, this[0] );

如果你想使用onfocusout,请使用相同的代码:

onfocusout: function(element) { $(element).valid(); }

希望有所帮助。

答案 1 :(得分:1)

你不应该使用“true”(bool值)作为onsubmit,onkeyup,onfocusin和onfocusout参数的值。默认情况下,这些是函数(并且事件已打开)。如果要关闭此事件,请将值设置为“false”或“undefined”(不带“)。 要了解验证插件,请查看源代码。文档不完整。 V1.9。