2010-11-30 40 views
1

J'utilise le plugin jquery validate pour créer une méthode de validation pour tous les formulaires d'une application. Utilisation de la fonction jquery each() pour exécuter chaque cycle et appliquer la méthode. Je veux réaliser la réinitialisation en utilisant la même méthode. Comment puis-je accomplir cela?Comment créer un appel de fonction jquery de validation et de réinitialisation universel

Ceci est le code qui fonctionne:

$("form").each(function() { 
     $(this).validate(); 
    }); 

Ceci est le code qui n'a pas

$("form").each(function() { 
     validator = $(this).validate(); 
     validator.resetForm(); 
     $("#reset").click(function() { 
      validator.resetForm(); 
     }); 
    }); 

S'il vous plaît conseiller ..

Répondre

1

Sans le mot-clé var, vous configurez validator comme une variable globale, et en changeant ce qu'il est réglé sur chaque boucle (donc il sera mis à l'validateur du dernier formulaire à la fin) , il suffit d'ajouter var lors de la déclaration, comme ceci:

$("form").each(function() { 
    var validator = $(this).validate(); //add var here 
    validator.resetForm(); 
    $("#reset").click(function() { 
     validator.resetForm(); 
    }); 
}); 

cela corrigera si vous remis à zéro chaque fois <form>, noteur que les derniers <form>n fois.

+0

Merci Nick .... –

+0

Got it pour travailler avec plusieurs formes dans la page ainsi –

+0

$ ("formulaire"). Each (function() { var validateur = $ (this) .validate(); var ici validator.resetForm(); $ (this) .children ("# réinitialiser"). click (function() { validator.resetForm(); }); }); –

1

essayer peut-être?

$("form").each(function() { 
var validator = $(this); 
validator.validate(); 
validator.resetForm(); 
$("#reset").click(function() { 
    validator.resetForm(); 
}); 
}); 
+0

travaillé ou non ?? – Breezer