Cet article présente principalement la méthode de jQuery Validate pour vérifier plusieurs noms identiques. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.
Introduction :
Il y a le code suivant dans la page du formulaire
<form> <input name="zhai"/><!-- 三个相同name的input --> <input name="zhai"/> <input name="zhai"/> </form>
jquery validate vérifie uniquement la première zone de saisie lors de la validation de plusieurs mêmes noms.
Solution un :
Ajoutez le code suivant au js correspondant à la page du formulaire Seule la page actuelle peut résoudre la vérification de plusieurs noms
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; }); } }
Solution deux. :
Modifiez le fichier source et toutes les pages peuvent vérifier plusieurs noms
Méthode 1 : Modifiez le fichier jquery.validate.js
Utilisez ctrl+F pour trouver ce .name dans RulesCache Commentez le code suivant.
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; }); },
Méthode 2 : Modifier le fichier jquery.validate.min.js
Utilisez ctrl+F pour rechercher (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 //添加这行
Recommandations associées :
jQuery Formulaire de validation Explication détaillée du plug-in de validation
jquery.validate.js Explication détaillée de la façon de gérer plusieurs noms identiques
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!