2010-05-21 1 views
8

J'ai un valideur jquery en cours d'exécution et la page est très longue, donc je veux que la page défile vers le haut car j'affiche des erreurs en haut de la page au-dessus de la forme, est-ce que quelqu'un sait où je peux mettre le code pour l'animation de sorte qu'il se déclenche lorsque le formulaire a des erreurs?Comment déclencher un événement en erreur dans le plugin jquery validator

+0

Pouvez-vous poster le code que vous avez maintenant pour appeler la validation? –

Répondre

15

Vous pouvez utiliser le invalidHandler option pour le cas précis que vous voulez, comme ceci:

$("form").validate({ 
    rules: { ... rules here ... } 
    invalidHandler: function(form, validator) { 
    $('html, body').animate({scrollTop: '0px'}, 300);  
    } 
}); 
+0

Merci beaucoup, cela a fonctionné parfaitement –

+0

Y at-il un moyen de le faire défiler vers l'élément qui était invalide en particulier? Donc, si vous aviez une forme énorme et au milieu quelque part il y avait l'erreur? Sur les téléphones, c'est important car je peux faire défiler vers le haut mais l'erreur peut ne pas être là en particulier. –

5

La même chose que suggéré @ Nick, mais d'utiliser après l'initialisation du plugin:

$("form").bind("invalid-form.validate", function() { 

}); 

Son même cela arrive en interne lorsque le plugin s'initialise. Source.

+0

Ceci est une bouée de sauvetage .. sauf que pour moi, il se déclenche 3 fois sur le même échec de validation. – Damon

+0

@Damon pas sûr pourquoi cela se produit – DontVoteMeDown

+1

@damon probablement parce que vous avez 3 formes? –

Questions connexes