Javascript Jquery验证程序和已隐藏的字段
我正在尝试使提交时不验证隐藏字段。例如,如果我们有如下HTML:Javascript Jquery验证程序和已隐藏的字段,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我正在尝试使提交时不验证隐藏字段。例如,如果我们有如下HTML: <div id="1"> <input type="text" class="digits"> </div> <div id="2"> <input type="text" class="digits"> </div> 并提交表格,即使第二次输入的数据可能有错误,表格仍应提交。我想更改validate的代码,但找不到相关的片段。从字段中删除验证的最简
<div id="1">
<input type="text" class="digits">
</div>
<div id="2">
<input type="text" class="digits">
</div>
并提交表格,即使第二次输入的数据可能有错误,表格仍应提交。我想更改validate的代码,但找不到相关的片段。从字段中删除验证的最简单方法是向字段添加
disabled
属性
var $div2 = $('div#2');
$div2.hide();
$('input, select, textarea', $div2).attr('disabled', 'disabled');
它们不会被验证。但这也会导致服务器上无法提交禁用的字段。若您不需要在服务器上提交这些手动隐藏的字段,那个么这项技术是很好的
另一种方法是使用和函数手动添加和删除元素中的所有验证规则。这当然更为复杂,因为您必须为每个输入逐个添加和删除每个规则。从字段中删除验证的最简单方法是为字段添加
禁用的属性
var $div2 = $('div#2');
$div2.hide();
$('input, select, textarea', $div2).attr('disabled', 'disabled');
它们不会被验证。但这也会导致服务器上无法提交禁用的字段。若您不需要在服务器上提交这些手动隐藏的字段,那个么这项技术是很好的
另一种方法是使用和函数手动添加和删除元素中的所有验证规则。这当然更复杂,因为您必须为每个输入逐个添加和删除每个规则。我相信验证是通过在元素上设置类来完成的?隐藏元素时可以删除类吗?@Michel确实需要我指定类,但删除它们似乎是一种临时解决方案。如果它们通过$('div#2').show()再次出现,我希望对它们进行验证我必须将类硬编码到代码中,或者尝试将它们存储在某个地方。我觉得让验证器跳过隐藏字段会更容易。而且你不想在隐藏时删除类,在显示时添加类,我明白你的意思。我将搜索更多我相信验证是通过在元素上设置类来完成的?隐藏元素时可以删除类吗?@Michel确实需要我指定类,但删除它们似乎是一种临时解决方案。如果它们通过$('div#2').show()再次出现,我希望对它们进行验证我必须将类硬编码到代码中,或者尝试将它们存储在某个地方。我觉得让验证器跳过隐藏字段会更容易。而且你不想在隐藏时删除类,在显示时添加类,我明白你的意思。我将搜索更多。我有一个表单,其中有许多元素根据用户之前选择的内容出现和消失。当他从下拉菜单中选择某个内容时,我希望表单的整个部分消失,当他选择另一个内容时,该部分出现。我不能使用hidden,因为这些都是文本输入字段。我有一个表单,根据用户之前的选择,有许多元素出现和消失。当他从下拉菜单中选择某个内容时,我希望表单的整个部分消失,当他选择另一个内容时,该部分出现。我不能使用hidden,因为这些都是文本输入字段。