导读:
在表单页中有如下代码
rush:js;">
jquery validate在对多个相同name校验时,只校验第一个input框。
解决方案一:
在表单页对应的js中加入如下代码 只有当前页可以解决对多个name校验
rush:js;">
if ($.validator) {
$.validator.prototype.elements = function () {
var validator = this,rulesCache = {};
return $(this.currentForm)
.find("input,select,textarea")
.not(":submit,:reset,:image,[disabled]")
.not(this.settings.ignore)
.filter(function () {
if (!this.name && validator.settings.debug && window.console) {
console.error("%o has no name assigned",this);
}
rulesCache[this.name] = true;
return true;
});
}
}
解决方案二:
方式1:修改jquery.validate.js文件
用 ctrl+F 查找 this.name in rulesCache 注释掉如下代码。
rush:js;">
elements: function() {
var validator = this,rulesCache = {};
// select all valid inputs inside the form (no submit or reset buttons)
return $(this.currentForm)
.find("input,textarea")
.not(":submit,[disabled]")
.not( this.settings.ignore )
.filter(function() {
if ( !this.name && validator.settings.debug && window.console ) {
console.error( "%o has no name assigned",this);
}
// 注释掉这里
// select only the first element for each name,and only those with rules specified
//if ( this.name in rulesCache || !validator.objectLength($(this).rules()) ) {
// return false;
//}
rulesCache[this.name] = true;
return true;
});
},
方式2:修改jquery.validate.min.js文件
用 ctrl+F 查找(c[this.name]=!0,!0)})
rush:js;">
return !this.name && b.settings.debug && window.console && console.error("%o has no name assigned",this),//this.name in c || !b.objectLength(a(this).rules()) ? !1 : (c[this.name] = !0,!0)//注释这行
c[this.name] = !0,!0 //添加这行
以上所述是小编给大家介绍的jQuery Validate 校验多个相同name的方法。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。