本文主要介紹了jQuery Validate 校驗多個相同name的方法,需要的朋友可以參考下,希望能幫助到大家。
導讀:
在表單頁有下列程式碼
<form> <input name="zhai"/><!-- 三个相同name的input --> <input name="zhai"/> <input name="zhai"/> </form>
jquery validate在對多個相同name校驗時,只校驗第一個input框。
解決方案一:
在表單頁對應的js中加入如下程式碼只有當前頁可以解決對多個name校驗
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; }); } }
解決方案二:
修改原始檔所有的頁面都可以驗證多個name
##方式1:修改jquery.validate.js檔案用ctrl+F 找出this.name in rulesCache 註解掉如下代碼。elements: function() { var validator = this, rulesCache = {}; // select all valid inputs inside the form (no submit or reset buttons) 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); } // 注释掉这里 // 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; }); },
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 //添加这行
Spring shiro bootstrap jquery.validate 登入、註冊功能的實作方法
##jQuery Validate表單驗證外掛程式詳解jquery.validate.js 多個相同name的處理方式詳解以上是jQuery Validate 校驗多個相同name實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!