2010-11-16 5 views
1

J'utilise ces deux plug-ins jquery.validate et jquery.form séparément, mais je voudrais les utiliser ensemble. J'ai un formulaire utilisateur simple avec quelques champs à valider.Comment intégrer jquery.validate avec jquery.form?

Le script avec les plug-ins:

$(function() { 

    $("#my_form").validate({ 
    submitHandler: function(form) { 

    var my_options = { 
    target:  '#save_form', 
    dataType:  'json', 
    beforeSubmit: showRequest, 
    success:  showResponse 
    }; 
    $(form).ajaxForm(my_options); 

    } 
    }); 

}); 

function showRequest(formData, jqForm, my_options) { 
    $("#save_form").fadeIn().html('<img src="<?=ICONES?>spin_light.gif">'); 
} 

function showResponse(data, responseText, statusText) { 
    // do something 
} 

Cela semble OK, et les travaux de validation. Le problème est que je dois cliquer deux fois dans le bouton de soumission (<input type="submit" value="Save" class="button" />) pour les soumissions de formulaire. Chaque fois, pour le formulaire soumet, il ira seulement avec le deuxième clic dans le bouton. Quel est le problème ici?

Cordialement, João Clérigo

+0

trouvé le problème: je showld utiliser à la place ajaxSubmit de ajaxForm, puisque ne soumet pas le formulaire. – jaclerigo

Répondre

2

jamais essayé l'option submitHandler de validate,
j'utilise également ces deux plugins, mais de cette façon:

$('#my_form').validate({[your options here]}).submit(function() 
    { 
     $(this).ajaxSubmit({ 
      beforeSubmit: function (arr, jqForm, options) 
     { 
       //can continue if the form is valid 
       return jqForm.validate().form(); 
      }, 
      success: function (ret, statusText, xhr, jqForm) 
      { 
       //party 
      } 
     }); 
     return false;//stop regular submit 
    });