@pvgdrk

Как решить проблему с ReferenceError: event is not defined в Firefox при использовании jquery.validate?

Формы создаются динамически. Для них назначаются обработчики функцией desFormAction($from). Для проверки вводимых данных используется jquery.validate.
В хроме все без проблем работает. Файрфокс выдает ошибку ReferenceError: event is not defined.

function desFormAction($myfrom){
    $myform.validate({
        rules: validationRm['rules'],
        messages: validationRm['messages'],
        submitHandler: function() {
            event.preventDefault();
            //...
            $.ajax({
                //...
            })
        }
    });
}


Нашел такое решение:
stackoverflow.com/questions/4585970/jquery-event-p...
Попытался по аналогии сделать так:

function desFormAction($myfrom){
    $myfrom.children('input[type=submit]').click(function(event){
        event.preventDefault();
        $myfrom.validate({
            rules: validationRm['rules'],
            messages: validationRm['messages'],
            submitHandler: function() {
                //...
                $.ajax({
                    //...
                })
            }
        });
    })
}

Так совсем не работает. (события уходят в validate, а там хрен разберешь, что происходит)
  • Вопрос задан
  • 11587 просмотров
Решения вопроса 1
@pvgdrk Автор вопроса
Проблема решилась неожиданно для меня. При использовании jquery.validate, вам не нужно явно указывать event.preventDefault(). За вас это уже сделал плагин.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
function desFormAction($myfrom){
    $myfrom.submit(function(event){
        event.preventDefault();
        $myfrom.validate({
            rules: validationRm['rules'],
            messages: validationRm['messages'],
            submitHandler: function() {
                //...
                $.ajax({
                    //...
                })
            }
        });
    })
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы