ajax除表单外传多个,在多个ajax调用完成之前,如何阻止表单提交? jQuery的

继p

revious question后,我询问禁用提交按钮,直到所有ajax调用完成返回…

即使禁用按钮和警告标志,人们似乎仍然设法提交表单.我想这可能是在文本输入中按“输入”.

如何禁用整个表单,而不仅仅是提交按钮?

到目前为止的代码是:

// if we're waiting for any ajax to complete we need to disable the submit

$(document).ajaxStart(function() {

$(".ajaxbutton").attr("disabled","disabled");

// if it's taken longer than 250ms display waiting message

timer = setTimeout(function() {

$('#processingAlert').html(' ...please wait one moment');

$('#processingAlert').show();

},250);

})

$(document).ajaxComplete(function() {

$(".ajaxbutton").removeAttr("disabled");

$('#processingAlert').hide();

// cancel showing the message when the ajax call completes.

clearTimeout(timer);

});

我应该提到的另一个可能导致问题的是,同时发生多个ajax调用,EG一个div接收隐藏的输入,另一个div在页面的其他地方显示例如价格总和.

一些ajax调用快速完成的事实是否会否定ajaxStart的禁用效果? EG ajax call1和ajax call2都触发了ajaxStart – call1很快就完成了,在我们等待call2完成时它会重新启用表单吗?

有没有更好的方法来做到这一点我们可以简单地测试所有ajax调用是否已经完成?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值