Par l'utilisation du plugin jQuery Validation, j'essaie de bien valider mon formulaire. Lorsque la validation réussit, je veux qu'un javascript se déclenche avec les valeurs du formulaire, puis s'arrête. aucune soumission réelle de formulaire avec navigation sur un nouveau/même site.
est-ce possible avec la validation jquery?
Vous pouvez essayer ceci ( exemple ):
$(function(){
$("#myform").validate();
$("#myform").on('submit', function(e) {
var isvalid = $("#myform").valid();
if (isvalid) {
e.preventDefault();
alert(getvalues("myform"));
}
});
});
function getvalues(f)
{
var form=$("#"+f);
var str='';
$("input:not('input:submit')", form).each(function(i){
str+='\n'+$(this).prop('name')+': '+$(this).val();
});
return str;
}
Oui:
$("form").submit(function(event) {
if (somethingIsInvalid) {
event.preventDefault();
}
});
Il y a une méthode appelée .valid () qui retourne vrai au cas où il n'y a pas d'erreurs dans votre formulaire, vous pouvez donc valider d'abord avec ceci et ensuite envoyer le formulaire voici la documentation
$("#form").validate({
rules: {...},
submitHandler: function(form, event) {
event.preventDefault();
alert("Do some stuff...");
//submit via ajax
}
});