2010-05-21 19 views
8

Tengo el validador de jquery en ejecución y la página es muy larga, por lo que quiero que la página se desplace hacia arriba porque se muestran errores en la parte superior de la página encima del formulario, ¿alguien sabe dónde puedo poner el código de la animación para que se active cuando el formulario tiene errores?Cómo activar un evento por error en el complemento del validador de jquery

+0

¿Puedes publicar el código que tienes ahora para llamar a la validación? –

Respuesta

15

Puede utilizar el invalidHandler option para el caso exacto que quiere, como esto:

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

Muchas gracias, funcionó perfectamente –

+0

¿Hay alguna manera de hacerlo desplazarse al elemento que no era válido en particular? Entonces, si tenías una gran forma y en el medio, ¿en algún lugar había un error? En los teléfonos, esto es importante ya que puedo desplazarme hacia la parte superior, pero es posible que el error no esté allí en particular. –

5

El mismo que sugirió @ Nick, pero después de usar plug-in de inicialización:

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

}); 

Es el mismo eso sucede internamente cuando el plugin se inicializa. Source.

+0

esto es un salvavidas .. excepto que para mí es disparar 3 veces en la misma falla de validación. – Damon

+0

@Damon no estoy seguro de por qué eso sucede – DontVoteMeDown

+1

@damon probablemente porque tiene 3 formularios? –

Cuestiones relacionadas