как я отключаю кнопку отправки, когда форма отправлена без каких-либо ошибок

Я хочу отключить кнопку отправки, когда пользователь отправляет форму так, чтобы он не мог нажать кнопку отправки дважды.

Таким образом, я кодировал следующий JavaScript на своей странице


$(document).ready(function(){
    $("form").submit(function(){
       $("form").find('input[type=submit]').attr('disabled', 'disabled');
    });
})

Это работает отлично. Но когда я подал заявку, jQuery проверяют библиотеку и добавил следующий код


$(document).ready(function(){
    $("form").submit(function(){
       $("form").find('input[type=submit]').attr('disabled', 'disabled');
    });

    $("form").validate({
            errorClass: "jqueryError",
            errorElement: 'label',
            success: 'jqueryValid',
            messages: {
                TopicCategory: {
                    required: 'Please choose a category for topic.'
                },
                TopicSubcategoryId: {
                    required: 'Please choose a subcategory for topic.'
                },
                TopicTitle: {
                    required: 'Please enter a title for topic.'
                }
            }
        });
})

Кнопка отправки была отключена после отправляющей формы, даже если существуют неполные исходные данные в веб-сайте (т.е. форма с ошибками, и пользователя просят заполнить их правильно).
и когда пользователь заполняет форму, исправляющую все ошибки, кнопка отправки отключена.

Как я сначала проверяю, нет ли никаких ошибок в форме и затем не отключают кнопку отправки и затем отправляют его наконец.

Спасибо

8
задан Gaurav Sharma 7 May 2010 в 16:31
поделиться

3 ответа

Добавьте следующий параметр в jQuery Validate:

submitHandler: function(form) {
    $(':submit', form).attr('disabled', 'disabled');
    form.submit();
}
7
ответ дан 5 December 2019 в 21:17
поделиться

Я не использовал плагин проверки jquery, но читал документацию здесь

http://docs.jquery.com/Plugins/Validation/validate

вы могли

1) отключить кнопку в submitHandler обратный вызов

2) оставьте существующий код отключения, но затем снова включите кнопку в обратном вызове invalidHandler

1
ответ дан 5 December 2019 в 21:17
поделиться

Я еще не начал работать с jQuery. Но я думаю, вы можете сделать что-то вроде этого:

$(document).ready(function(){
    $("form").submit(function(){
    });

    $("form").validate({
            errorClass: "jqueryError",
            errorElement: 'label',
            success: 'jqueryValid',
            messages: {
                TopicCategory: {
                    required: 'Please choose a category for topic.'
                },
                TopicSubcategoryId: {
                    required: 'Please choose a subcategory for topic.'
                },
                TopicTitle: {
                    required: 'Please enter a title for topic.'
                }
            }
       $("form").find('input[type=submit]').attr('disabled', 'disabled');

        });
})
-1
ответ дан 5 December 2019 в 21:17
поделиться
Другие вопросы по тегам:

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