这是我得到的错误:未捕获的TypeError:无法读取属性'元素'未定义的
我在这里遗漏了一些必须在我鼻子底下的东西。我无法在对话框中进行验证。我在寻找解决方案的过程中尝试了所有我发现的东西,但我无法弄清楚我做错了什么。我有一个jsfiddle https://jsfiddle.net/g6rnbtbj/21/代码示例。如果我取消注释下面的代码行,jQuery甚至不会显示对话框。
$('#business-partner-detail').validate();
有人请指出我做错了什么。我把头发拉出来,我再也不能失去了。
非常感谢任何见解。
答案 0 :(得分:0)
“有人请指出我做错了什么。”
您的JavaScript控制台错误由$('#activity-event-dialog').valid()
引起。您无法将.valid()
方法附加到<div>
。您只能将.valid()
方法附加到<input>
,<textarea>
,<select>
或<form>
元素。在您的情况下,您希望测试<form>
本身,因此您需要使用$('#business-partner-detail').valid()
。如果没有先调用.valid()
进行初始化,也无法致电.validate()
。
您无法注释掉.validate()
方法,因为它是在表单上初始化插件所必需的。没有它,jQuery Validate将什么都不做。
您尚未声明任何验证规则,因此插件仍然无法执行任何操作。作为测试,我在下面的演示中将required="required"
属性放在了<textarea>
元素中。否则,您可以使用the rules
option within the .validate()
method声明规则。
Your jsFiddle在“框架和扩展”部分中包含两个jQuery ...版本1.11.0,在“外部资源”部分中包含版本1.11.2。删除其中一个。