我有一个带有提交输入的表单,我需要在单击该按钮时,我的脚本执行一些Ajax操作。此外,我需要在Ajax请求期间禁用该按钮。所以我需要一个jQuery命令来避免在单击输入时提交真实表单。我试着用这个:
$('input.searchplease').click(function () {
$(this).attr('disabled', 'disabled');
alert('Yep');
//Do Ajax
});
这没效果。我的意思是,警报显示正确,但表单已提交。那你的建议是什么?
答案 0 :(得分:6)
试试这个:
$('input.searchplease').click(function (e) {
$(this).attr('disabled', 'disabled');
alert('Yep');
//Do Ajax
e.preventDefault();
});
答案 1 :(得分:1)
$('input.searchplease').click(function () {
alert('yep');
return false;
});
这应该有效
答案 2 :(得分:0)
你可以这样做:
$('form').submit(function(){
... ajax things
return false;
});
我不想禁用按钮(然后启用它),除非我必须这样做。
答案 3 :(得分:0)
尝试这种方式:
$("#id-of-your-form").submit(function() {
$("#id-of-your-submit-input").attr("disabled", true);
// do-ajax
// you can use jquery's ajax complete handler to enable the submit button again
return false;
});
答案 4 :(得分:0)
我认为这会解决问题:
$('form').submit(function(event) {
event.preventDefault();
$('#submit-button-ID').attr('disabled', 'disabled');
$.ajax({
...,
success: function() {
$('#submit-button-ID').removeAttr('disabled');
}
});
});