Я хочу отключить кнопку отправки, когда пользователь отправляет форму так, чтобы он не мог нажать кнопку отправки дважды.
Таким образом, я кодировал следующий 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.'
}
}
});
})
Кнопка отправки была отключена после отправляющей формы, даже если существуют неполные исходные данные в веб-сайте (т.е. форма с ошибками, и пользователя просят заполнить их правильно).
и когда пользователь заполняет форму, исправляющую все ошибки, кнопка отправки отключена.
Как я сначала проверяю, нет ли никаких ошибок в форме и затем не отключают кнопку отправки и затем отправляют его наконец.
Спасибо
Добавьте следующий параметр в jQuery Validate:
submitHandler: function(form) {
$(':submit', form).attr('disabled', 'disabled');
form.submit();
}
Я не использовал плагин проверки jquery, но читал документацию здесь
http://docs.jquery.com/Plugins/Validation/validate
вы могли
1) отключить кнопку в submitHandler обратный вызов
2) оставьте существующий код отключения, но затем снова включите кнопку в обратном вызове invalidHandler
Я еще не начал работать с 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');
});
})