2010-06-06 8 views
0

J'utilise jQuery validate() plugin pour valider un formulaire. il fait la validation mais comment puis-je effectuer un ensemble de fonctions s'il n'y a pas d'erreurs?effectuer un ensemble de fonctions après jQuery valider()

j'ai essayé ce

$(document).ready(function() { 
    $('form').validate({ 
     submitHandler: function(form) { 
     $.post('php/contact.php', { 
      name: $('form #name').val(), 
      email: $('form #email').val(), 
      comments: $('form #comments').val() }, 
      function(data) { 
       if(data.success) { 
        alert('thank you'); 
       } 
       else { 
        alert('error'); 
       } 
     }, 'json'); 
     form.submit(); 
    } 
    }); 
}); 

Le formulaire valide, mais je ne reçois pas data.success aussi vrai de php maintenant. des idées?

+1

S'il ne s'agit pas d'une faute de frappe, il vous manque des parenthèses fermantes derrière '$ ('form')' – jAndy

+0

merci pour cela. la validation fonctionne maintenant mais je ne reçois pas le data.success = true de php maintenant. – pixeltocode

Répondre

1

Utilisation du submitHandler option pour cela:

$("form").validate({ 
    //rules, etc.. 
    submitHandler: function(form) { 
    //do something, it was valid 
    } 
}); 

Le gestionnaire opposé de ceci est le invalidHandler qui exécute lorsque le formulaire présenté n'a pas valide.

+0

merci. J'ai essayé mais ça ne marche toujours pas. – pixeltocode

+0

@pixeltocode: Quelle partie? Vous faites une requête ajax puis vous soumettez le formulaire (probablement annuler cette requête), qu'est-ce qui ne fonctionne pas? –

+0

lorsque je place le $ .post dans une fonction .click(), le formulaire soumet. lorsque vous ajoutez le validate(), il valide le formulaire et le soumet. quand j'utilise le submitHandler, rien ne se passe. – pixeltocode

Questions connexes