jquery validate() 返回未定义
我正在尝试使用 Jquery 的验证插件来验证一个字段。我可以让它在一个简单的测试表单上运行,但是当我尝试将其插入我网站上的大型现有表单时,调用 validate
返回 undefined
。它应该返回一个 Validator 对象。我该如何找出问题所在?
以下是正在运行的示例代码:
<script type="text/javascript">
function tst(ctrl) {
var frm = $(ctrl).parents('form');
alert('Is email valid? ' + frm.validate({ showErrors: function () { } }).element(ctrl));
}
</script>
<form id="form1" action="" method="post">
<input type="text" name="email" onblur="tst(this)" class="email"/>
</form>
但是,如果我在更大的现有表单上尝试此操作,validate
调用将返回未定义,从而导致调用 element
时出现 JavaScript 错误。我认为一定有某种更大的形式使 validate
“崩溃”,但它会是什么?
I'm trying to use the Validate plugin for Jquery just to validate one field. I can get it working on a simple test form but when I tried to plug it into a large existing form on my site, calling validate
returns undefined
. It's supposed to return a Validator
object. How do I go about figuring out what's wrong?
Here is the example code that's working:
<script type="text/javascript">
function tst(ctrl) {
var frm = $(ctrl).parents('form');
alert('Is email valid? ' + frm.validate({ showErrors: function () { } }).element(ctrl));
}
</script>
<form id="form1" action="" method="post">
<input type="text" name="email" onblur="tst(this)" class="email"/>
</form>
However if I try this on a much larger existing form, the validate
call returns undefined, resulting in a JavaScript error calling element
. I think there must be something in the larger form that makes validate
"crash", but what could it be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
.valiate()
不返回布尔值,它设置验证。要确定
.valiate()
doesn't return a boolean, it sets up validation.To determine whether a
<form>
or input element is valid you call.valid()
to get a boolean result. Make sure to call this after.validate()
, since there will be no validator setup on the<form>
otherwise.你尝试过使用 JQuery 对象吗?
而不是
var frm
,使用var $frm
:当您设置
frm
而不使用$
时,您将只存储 html纯 javascript 变量中的元素,未获取 JQuery 对象中的元素。did you try using JQuery object..
instead of
var frm
, usingvar $frm
:when you set
frm
without$
you would just store the html element in a pure javascript variable, not getting the element in a JQuery object..