Dieser Artikel stellt hauptsächlich die Methode von jQuery Validate vor, um mehrere identische Namen zu überprüfen. Freunde, die es benötigen, können darauf verweisen.
Einführung:
Es gibt den folgenden Code auf der Formularseite
<form> <input name="zhai"/><!-- 三个相同name的input --> <input name="zhai"/> <input name="zhai"/> </form>
jquery validieren überprüft nur das erste Eingabefeld, wenn mehrere gleiche Namen validiert werden.
Lösung eins:
Fügen Sie den folgenden Code zu den js hinzu, die der Formularseite entsprechen. Nur die aktuelle Seite kann die Überprüfung mehrerer Namen lösen
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; }); } }
Lösung zwei :
Ändern Sie die Quelldatei und alle Seiten können mehrere Namen überprüfen
Methode 1: Ändern Sie die Datei jquery.validate.js
Verwenden Sie Strg+F, um diesen Namen zu finden Kommentieren Sie im RulesCache den folgenden Code aus.
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; }); },
Methode 2: Ändern Sie die Datei jquery.validate.min.js
Verwenden Sie Strg+F, um zu suchen (c[this.name]=!0,!0)})
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 //添加这行
Verwandte Empfehlungen:
jQuery Validierungsformular Detaillierte Erläuterung des Validierungs-Plug-ins
jquery.validate.js Detaillierte Erläuterung zum Umgang mit mehreren identischen Namen
Das obige ist der detaillierte Inhalt vonjQuery Validate überprüft die gemeinsame Nutzung mehrerer Instanzen mit demselben Namen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!