Плагин проверки jQuery: отключить проверку для указанных кнопок отправки при наличии обработчика submitHandler - PullRequest
5 голосов
/ 12 мая 2010

Хорошо, я использую модуль форума umbraco, и в форме комментариев он использует плагин jquery validate. Проблема в том, что я добавил кнопку поиска на той же странице, используя UserControl, кнопка отправки поиска запускает проверку отправки формы комментария.

Я провел некоторое исследование и добавил к кнопке класс «отмена». Это обходит первую проблему проверки, однако, она все еще попадает в «submitHandler». Прочитайте исходный код и найдите способ определить, вызывает ли кнопка поиска отправку. однако, нет хорошего способа обойти обработчик.

В настоящее время я использую уродливый способ сделать это: создавать ошибки JavaScript! Я хотел бы знать более хороший способ сделать работу. Большое спасибо!

Кстати, я сейчас использую:

submitHandler: function (form) {

            $(form).find(':hidden').each(function () {
                var name = $(this).attr('name');
                if (name && name.indexOf('btnSearch') === name.length - 'btnSearch'.length) {
                    // this is a dirty hack to avoid the validate plugin to work for the button
                    eval("var error = 1 2 ''");
                }
            });

            // original code from umbraco ignored here....
        }

...............

здесь есть похожий вопрос: Плагин jQuery Validation: отключить проверку для указанных кнопок отправки (это немного отличается, так как в этом используется submitHandler ...)

1 Ответ

3 голосов
/ 12 мая 2010

Используйте ignore и установите селектор на то, что вам нужно.

$("#myform").validate({
   ignore: ".ignore"
})
...