Vérification qui ne peut pas être vide (.notnull) dans le formulaire de détection
Fonction : Lorsqu'il existe plusieurs formulaires (dont un) sous une paire de balises de formulaire, utilisez JS pour juger avec précision quels éléments sont fabriqués sur le bouton actuel.
Utilisation : Trouvez le conteneur du formulaire actuel sous la balise de formulaire pour donner class = "formulaire", et le bouton Soumettre du formulaire actuel à donner
L'élément qui doit être vérifié comme vide est donné class = "notnull" nullmsg = "xx ne peut pas être nul!" Invite, et le formulaire qui nécessite un jugement logique reçoit une classe = "besoin"
Le type de jugement donné (ne peut être que des nombres) de vérification invite logicmsg = "xx ne peut être que des nombres"
Donner class = "errorMessage" pour afficher le bloc de messages d'erreur
Donner class = "avertir" pour afficher le message d'erreur
N'utilisant pas la programmation axée sur l'objet JS
Jugement logique, ne passez pas dans l'identifiant de besoin, donnez directement l'attribut d'expression régulière (personnalisé) regex = "/ ^ / d $ /" pour porter un jugement
Implémenté en externe
Fonction de rappel de bouton Global.SubmitCallback
Global.confirmCallback Confirmer la fonction de rappel;
Où s'améliorer:
Aucun encore
La copie de code est la suivante:
/// <référence Path = "Vendor / jQuery-1.4.1-vsdoc.js" />
* /
// $ (document) .ready (
// fonction () {
// $ ("form"). Rechercher (". notnull"). bind ({
// focus: function () {
// if ($ (this) .attr ("value") == this.defaultValue) {
// $ (this) .attr ("valeur", "");
//}
//},
// blur: function () {
// if ($ (this) .attr ("value") == "") {
// $ (this) .attr ("valeur", this.defaultValue);
//}
//}
//});
//}
//);
/// * Méthode pour encapsuler une forme de détection universelle * /
///event.srcelement: l'objet cible qui soulève un événement, souvent utilisé dans les événements OnClick.
///event.fromement: la source d'objet qui soulève l'événement, souvent utilisé dans les événements OnMouseout et OnMouseOver.
///event.ToElement: Une fois l'événement qui a été levé, la source cible déplacée par la souris, qui est souvent utilisée pour les événements OnMouseout et OnMouseOver.
fonction global () {
var _self = this;
}
Global.SubmitCallback = null;
Global.confirmCallback = null;
$ (document) .ready (function () {
// Formez du corps
$ ("body"). trouver (". form"). chaque (fonction () {
this.onclick = fonction (e) {
Var Button = NULL;
essayer {
bouton = e.srcelement == null? Document.ActiveElement: E.Srcelement;
} catch (e) {
Console.log (E.Message)
Button = document.activeElement;
}
if ($ (bouton) .is (". check")) {
// alerte ("soumettre")
var sub = (checkForm (this) && checkInputRex (this) && checksElect (this) && checkChecked (this));
if (sub) {
// appelle notre rappel, mais en utilisant notre propre instance comme contexte
Global.submitcallback.call (this, [e]);
}
retour sub;
} else if ($ (bouton) .is (". Confirmer")) {
// alerte ("supprimer")
var sub = confirm ($ (bouton) .attr ("title"));
if (sub) {
Global.confirmcallback.call (this, [e]);
}
retour sub;
} autre {
// // alerte ("autre")
Retour Vrai;
}
}
});
/ * Détection d'éléments qui ne peuvent pas être vides sous la forme * /
Fonction CheckForm (form) {
var b = true;
$ (form) .find (". notnull"). chaque (fonction () {
if ($ .trim ($ (this) .val ()). longueur <= 0) {// || $ (this) .val () == this.defaultValue
// if (this.value! = null) {
// $ (this) .attr ("valeur", "");
//}
//alert($( This ).attr("msg "))
$ (this) .parents (". Form"). trouver (". Warn"). Texte ($ (this) .attr ("nullmsg"));
$ (this) .parents (". form"). trouver (". errorMessage"). show ();
$ (this) .select ();
$ (this) .focus ();
retour b = false;
}
});
if (b == true) {
$ (form) .find (". Warn"). Texte ("");
$ (form) .find (". errorMessage"). hide ();
}
retour b;
}
/ * Liste déroulante requise dans le formulaire de détection * /
Fonction CheckSelect (form) {
var b = true;
$ (form) .find (". select"). Chaque (fonction (i) {
var ck = $ (this) .find ('option: sélectionné'). text ();
if (ck.indexof ("select")> -1) {
$ (this) .parents (". Form"). trouver (". Warn"). Texte ($ (this) .attr ("nullmsg"));
$ (this) .parents (". form"). trouver (". errorMessage"). show ();
$ (this) .select ();
$ (this) .focus ();
retour b = false;
}
});
retour b;
}
/ * Boîtes à cocher requises dans le formulaire de détection * /
fonction à vérification vérifiée (form) {
var b = true;
$ (form) .find (". Checkbox"). Chaque (fonction (i) {
var ck = $ (this) [0] .Checked;
if (! ck) {
$ (this) .parents (". Form"). trouver (". Warn"). Texte ($ (this) .attr ("nullmsg"));
$ (this) .parents (". form"). trouver (". errorMessage"). show ();
$ (this) .select ();
$ (this) .focus ();
retour b = false;
}
});
retour b;
}
// Vérifiez si l'expression régulière correspond
fonction getflase (valeur, reg, ele) {
if (reg.test (valeur)) {
Retour Vrai;
}
$ (ele) .parents (". Form"). trouver (". Warn"). Texte ($ (ele) .attr ("logicmsg"));
$ (ele) .parents (". Form"). trouver (". ErrorMessage"). Show ();
$ (ele) .focus ();
$ (ele) .select ();
retourne false; // ne peut pas se soumettre
}
fonction checkInputRex (form) {
var b = true;
$ (form) .find ("input [type = 'text']"). Chaque (fonction () {
if (typeof ($ (this) .attr ("regex")) == 'string') {
if ($ .trim ($ (this) .val ()). longueur> 0 && $ (this) .val ()! = this.defaultValue) {
// la valeur de formulaire actuelle
var valeur = $ (this) .attr ("value") || $ (this) .val ();
var regx = eval ($ (this) .attr ("regex"));
return b = getflase (valeur, regx, this);
}
}
});
retour b;
}
/// Vérifiez si les caractères correspondants entrés par l'utilisateur sont légaux
/// Cette méthode est abandonnée
Fonction CheckInput (form) {
var b = true;
$ (form) .find (". Need"). Chaque (fonction () {
if ($ .trim ($ (this) .val ()). longueur> 0 && $ (this) .val ()! = this.defaultValue) {
// la valeur de formulaire actuelle
var valeur = $ (this) .attr ("valeur");
// La valeur de l'ID ou la valeur de l'attribut de nom est la suivante: [name = "contact"]
var name = $ (this) .attr ("class");
// Vérifiez si le contenu dont vous avez besoin pour participer est légal, comme: coordonnées
var len = name.split ("");
pour (var i = 0; i <len.length; i ++) {
switch ($ .trim (len [i])) {
///Coordonnées
cas "mobile":
var reg = / ^ 1 / d {10} $ /;
return b = getflase (valeur, reg, this);
casser;
cas "e-mail":
var reg = /^@/w- diplomot+(/.[/W- LOBLAGE+)*@_/W- VORDE+(/ ./W- INDAGE+)+$/;
return b = getflase (valeur, reg, this);
casser;
/// est le mot de passe le même pour les deux fois
cas "mot de passe":
casser;
cas "mot de passe2":
if ($ ("# mot de passe"). attr ("valeur")! = $ ("# mot de passe2"). att ("value")) {
$ (this) .select (); // Obtenez la concentration
$ (this) .parents (". form"). find (". warn"). text ($ (this) .attr ("logicmsg"));
$ (this) .parents (". form"). trouver (". errorMessage"). show ();
retour b = false; // ne peut pas se soumettre
}
casser;
cas "Worktel":
case "Hometel": // Téléphone domestique
var reg = / ^ / d {8} $ /;
return b = getflase (valeur, reg, this);
casser;
cas "Post": // code postal
var reg = / ^ / d {6} $ /;
return b = getflase (valeur, reg, this);
casser;
cas "bonus":
Cas "Allocation":
cas "fixesalary":
var reg = /^- ?(@1-9
return b = getflase (valeur, reg, this);
casser;
Cas "identité":
var reg = / (^ / d {15} $) | (^ / d {18} $) | (^ / d {17} (/ d | x | x) $) /;
return b = getflase (valeur, reg, this);
casser;
cas "Hauteur":
var reg = / ^ [1-2] [0-9] [0-9] $ /;
return b = getflase (valeur, reg, this);
casser;
cas "qq":
var reg = / ^ [1-9] [0-9] {4,} $ /;
return b = getflase (valeur, reg, this);
casser;
Cas "Begintime":
cas "EndTime":
var reg = / ^ / d {4} $ /;
if (reg.test (value) && (parseInt ($ (". Endtime"). Val ())> parseInt ($ (". Begintime"). Val ()))) {
retour b;
}
$ .ligerDialog.Alert ($ (this) .attr ("msg"))
$ (this) .select (); // Obtenez la concentration
retour b = false; // ne peut pas se soumettre
casser;
cas "num":
var reg = / ^ / d + $ /;
return b = getflase (valeur, reg, this);
casser;
/// Le continent doit demander un col de Hong Kong et Macao et un visa de Hong Kong pour se rendre à Hong Kong. Le format des numéros de passeport ordinaire privés est:
/// 14/15 + 7 chiffres, g + 8 chiffres;
/// Le travail ordinaire est: P. + 7 chiffres;
/// l'entreprise officielle est: S. + 7 chiffres ou
// S + 8 chiffres, le passeport diplomatique commençant par D est le
cas "Postport": // numéro de passeport
var reg = / ^ (p / d {7} | g / d {8} | s / d {7,8} | d / d + | 1 [4,5] / d {7}) $ /;
return b = getflase (valeur, reg, this);
casser;
cas "BankAccount":
var reg = / ^ [0-9] {19} $ /;
return b = getflase (valeur, reg, this);
casser;
} //changer
} //pour
}
});
retour b;
}
/// cette méthode a été abandonnée
});
/// cliquez pour modifier la couleur d'arrière-plan
$ (document) .ready (function () {
var entrées = $ ("# top> .c> input");
$ (entrées) .each (function () {
this.onclick = function () {
document.getElementById ("main"). style.backgroundColor = this.name;
//$("#main").backgroundcolor = this.name;
}
});
});
Le code ci-dessus est le formulaire de détection universel après encapsulation. J'espère que tu l'aimes