2010-05-12 4 views
5

Ok, j'utilise le module forum umbraco, et sur le formulaire de commentaire il utilise le plugin jquery validate. Le problème est que j'ai ajouté un bouton de recherche sur la même page en utilisant un contrôle UserControl, le bouton de soumission de recherche déclenche la validation de la soumission du formulaire de commentaire.Plugin jQuery Validation: désactiver la validation pour les boutons d'envoi spécifiés lorsqu'il existe un gestionnaire submitHandler

J'ai fait des recherches et ajouté la classe css 'cancel' au bouton. Cela contourne le premier problème de validation, cependant, il tombe toujours dans le 'submitHandler'. Avoir lu le code source et trouver un moyen de détecter si le bouton de recherche déclenche la soumission. Cependant, il n'y a pas de bonne façon de contourner le gestionnaire. Je suis actuellement en train de faire un truc moche: créer des erreurs javascript! Je voudrais savoir une meilleure façon de faire le travail. Merci beaucoup!

BTW, je suis actuellement en utilisant:

submitHandler: function (form) { 

      $(form).find(':hidden').each(function() { 
       var name = $(this).attr('name'); 
       if (name && name.indexOf('btnSearch') === name.length - 'btnSearch'.length) { 
        // this is a dirty hack to avoid the validate plugin to work for the button 
        eval("var error = 1 2 ''"); 
       } 
      }); 

      // original code from umbraco ignored here.... 
     } 

...............

il est question similaire ici: jQuery Validation plugin: disable validation for specified submit buttons (c'est un un peu différent, puisque le submitHandler est utilisé dans celui-ci ...)

Répondre

3

Utilisez ignore et réglez le sélecteur sur ce que vous voulez.

$("#myform").validate({ 
    ignore: ".ignore" 
}) 
+1

comme 'submitHandler' est utilisé, le plug-in capture tout le bouton d'envoi/d'entrée dans la ligne de code source 46: this.find ("entrée, bouton") filtre (": soumettre").. Cliquez sur (function() { Je n'ai pas lu la source entière, je suppose que votre option ignore est la même que la classe '.cancel' par défaut? – ccppjava

Questions connexes