2010-05-21 2 views
8

У меня работает проверка подлинности jquery, и страница очень длинная, поэтому я хочу, чтобы страница прокручивалась вверх, потому что я отображаю ошибки в самой верхней части страницы над форма, кто-нибудь знает, где я могу поместить код для анимации, чтобы он срабатывал, когда у формы были ошибки?Как запустить событие при ошибке в плагине валидатора jQuery

+0

Можете ли вы опубликовать код, который вы должны теперь назвать валидацией? –

ответ

15

Вы можете использовать invalidHandler option для точного случае, если вы хотите, как это:

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

Большое вам спасибо, что отлично сработало –

+0

Есть ли способ заставить его прокрутить элемент, который был недействительным в частности? Итак, если у вас была огромная форма, а посередине где-то была ошибка? На телефонах это важно, так как я могу прокручивать вверх, но ошибка может быть не в частности. –

5

же, как предложил @Nick, но использовать после того, как плагин инициализации:

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

}); 

Его же что происходит внутри, когда плагин инициализируется. Source.

+0

это спасатель .. за исключением того, что для меня он стреляет 3 раза при одном и том же отказе валидации. – Damon

+0

@ Дамон не уверен, почему это происходит – DontVoteMeDown

+1

@damon, вероятно, потому, что у вас есть 3 формы? –

Смежные вопросы