2013-01-14 3 views
-4

Possible en double:
jQuery validation: some of the required field not filled but the form can still be submittedconflits de validation jQuery avec la soumission du formulaire Ajax

je validation jquery (http://bassistance.de/jquery-plugins/jquery-plugin-validation/) pour la validation de formulaire:

HTML:

<form id="formID" action="/processForm" method="post"> 
    ... 
    <input type="submit" value="Submit" /> 
</form> 

jQuery:

$("#formID").validate({ 
    onkeyup:false, 
    rules: { 
    ... 
    }, 
    messages: { 
    ... 
    } 
}); 


// Submit the form by Ajax 
$(document).ready(function() { 
    $('.formID').ajaxForm({ 
    success: function(returnData) { 
     $('#content').html(returnData); 
    } 
    }); 
}); 

Maintenant, la forme semble être soumis par la fonction validate(), et non par la fonction Ajax.

Comment utiliser la fonction Ajax?

+0

Juste un petit mot. '$ ('FormID ') ajaxForm()' doit être '$ (' # formID') ajaxForm()' votre ajax agit sur la forme avec la classe « formID. ' – andrux

Répondre

-1

essayer ce JS:

$('#formID').on('submit',function(){ 

// call your function which send AJAX reuest 
// Or code of sending ajax reauest 

return false; 

}) 
1

Maintenant, la forme semble être soumis par la fonction validate(), non par la fonction Ajax. Comment utiliser la fonction Ajax?

C'est parce que le plug-in validate() a déjà un submitHandler: intégré. Voici comment l'utiliser correctement et éviter les conflits potentiels entre plusieurs fonctions agissant sur le même événement submit.

$(document).ready(function() { 

    $("#formID").validate({ 
     onkeyup:false, 
     rules: { 
     ... 
     }, 
     messages: { 
     ... 
     }, 
     submitHandler: function(form) { 
      form.ajaxForm({ 
       success: function(returnData) { 
        $('#content').html(returnData); 
       } 
      }); 
     } 
    }); 

}); 
Questions connexes