我正在使用jquery validate插件来验证表单字段。我也在使用jqtree。在点击每个子节点时,用户可以看到表单的一部分,该部分应该被填充值。对于每个孩子,都有一个表单内容要填充。整个树内容仅在一个表单内声明。我在表单中有一个按钮,单击生成json文件。我正在调用下面的函数来验证表单
$("myform").validate();
....
if($("#my-form).valid())
generate the json file
但这并未验证整个表单。假设我在childNode1上,它只验证为childNode1定义的表单部分。据我所知,jquery validate plugin应该在指定正确的表单id时验证整个表单。但有人能告诉我我的方法出了什么问题吗?
答案 0 :(得分:1)
.validate()
方法没有"验证表格"。它只初始化表单上的插件。 .valid()
将以编程方式触发验证测试。
您的代码:
$("myform").validate();
....
if($("#my-form).valid())
generate the json file
$("myform")
- 这应该是id
,class
还是name
?正如您所写,它正在寻找<myform></myform>
元素。
$("#myform") // id="myform"
$(".myform") // class="myform"
$("[name='myform']") // name="myform"
您的form
元素是myform
还是my-form
?如果它是相同的<form>
元素,则两个jQuery选择器将是相同的。
$("#my-form)
缺少结束引号。
如果id
元素的<form>
为"myform"
,那么您的代码应为......
$("#myform").validate(); // <- initialize the plugin
....
if ($("#myform").valid()) { // <- test the form's validity
// generate the json file
....
}
OP标题:jquery验证插件,验证当前屏幕的表单字段
您的问题似乎与标题无关。您的OP中只描述了一种表单,由于这是JavaScript,因此只有在浏览器中加载的页面才是相关的。不确定&#34;当前屏幕&#34; 。
的含义但这并未验证整个表单。假设我在childNode1上,它只验证为childNode1定义的表单部分。据我所知,jquery validate插件应该在指定正确的表单id时验证整个表单。
默认情况下,插件不会验证隐藏的任何表单字段。您可以操纵ignore
选项来覆盖此行为。将ignore
设置为[]
会告诉插件不要忽略任何内容并验证所有字段,包括隐藏字段。