invalidHandler на следующей кнопке с плагином проверки jQuery - PullRequest
0 голосов
/ 23 марта 2012

Я настраиваю форму с помощью плагина проверки jQuery, и моя форма будет состоять из нескольких шагов, поэтому я проверяю форму на каждом шаге и нажимаю кнопку СЛЕДУЮЩАЯ.

Проблема в том, что по умолчанию « invalidHandler » работает только при отправке, но как вызвать ее, если щелкнуть пользовательское событие или любую другую кнопку, но отправить (в моем случае кнопку NEXT)?

Вот мой пример быстрого кода:

$(function() {
                $("form").validate({
                    invalidHandler : function(form, validator) {

                        var errors = validator.numberOfInvalids();

                        if(errors) {
                            alert(errors);
                            validator.errorList[0].element.focus();
                        }

                    },
                    rules : {
                        name : 'required'
                    }
                });

                $('#next').click(function() {

                    var element = $('form');
                    var stepIsValid = true;
                    $("input.text").each(function(index) {
                        stepIsValid = element.validate().element($(this)) && stepIsValid;
                    });
                    if(!stepIsValid) {
                        return false;
                    }

                });
            });

и форма с кнопкой NEXT:

<form>
            <label for="name">Name:</label>
            <input type="text" id="name" name="name" class="text" />
            <input type="button" value="Next" id="next" />
            <input type="submit" />
        </form>

Спасибо.

1 Ответ

1 голос
/ 23 марта 2012

Используйте .valid(), чтобы вручную проверить статус формы:

$('#next').click(function() {
    var element = $('form');
    if (!element.valid()) {
        return false;
    }
});

Больше информации о действительном ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...