我正在使用jQuery验证来验证具有相同ID的多个表单。每个表单包含不同的字段,我想将这些字段验证规则添加到jQuery验证功能。如何为多个表单添加这些规则(每个表单具有相同的ID)?
实施例
Form1中
<form id="new-form">
<input type="text" name="name" value=""/>
<input type="text" name="email" value=""/>
<input type="submit" name="submit" value="submit"/>
</form>
表格2
<form id="new-form">
<input type="text" name="mobile" value=""/>
<input type="text" name="address" value=""/>
<input type="submit" name="submit" value="submit"/>
</form>
JavaScript函数
$('#new-form').validate({
// I want to add rules here for both forms
});
答案 0 :(得分:0)
这是不可能的原因同一个id不起作用所以更改id名称。然后使用下面的代码: $()。ready(function(){
//第一次表单验证 $(&#34;#commentForm&#34)。验证();
//第二次表单验证 $(&#34;#signupForm&#34)。验证({
规则:{ 名字:&#34;必需&#34;, 姓氏:&#34;必需&#34;, 用户名: { 要求:是的, 最小长度:2 } } messages:{ 名字:&#34;请输入你的名字&#34;, 姓氏:&#34;请输入您的姓氏&#34;, } });
});
答案 1 :(得分:0)
我正在使用jQuery验证来验证具有相同
的多个表单id
您无法在同一页面上多次使用相同的id
。它的HTML无效,它会破坏您的JavaScript。只会考虑id
的第一个实例。
如果您将id
更改为class
,那么您可以多次自由使用它,并且它是有效的HTML。
<form class="new-form">...</form>
<form class="new-form">...</form>
但是,jQuery Validate插件仍然只会考虑第一个实例(此特定插件的限制)。解决方法是使用jQuery .each()
和class
命名...
$('.new-form').each(function() { // select every form on the page with class="new-form"
$(this).validate() { // initialize plugin on every selected form
// rules for both forms
});
});
每个表单包含不同的字段,我想将这些字段验证规则添加到jQuery验证函数。
只需声明两种表格的所有规则。该插件将忽略表单上不存在的任何字段名称。
$('.new-form').each(function() { // select every form on the page with class="new-form"
$(this).validate() { // initialize plugin on every selected form
rules: {
name: {
required: true
},
email: {
required: true
},
mobile: {
required: true
},
address: {
required: true
}
},
// other options, etc.
});
});