jQuery表单提交,防止第一次提交后多次发送
jQuery form submit, prevent from sending multiple times after first submit
我正在制作一个web应用程序,使用jquery提交请求一些数据,但我不希望人们在提交第一次后多次提交表单。因此,我希望在提交之后,下一次提交在几秒钟内什么都不做。
$("#updatestock_form").submit(function(e){
// requesting my data..
});
我怎样才能做到这一点?
"所以我希望在提交之后,下一次提交在几秒钟内什么都不做。"
如果你想让用户的第二次和随后的提交尝试被忽略,直到过了一定的秒数,你可以用很多方法来做到这一点。这是我想到的第一个:
var allowSubmit = true;
$("#updatestock_form").submit(function(e){
if (!allowSubmit) return false;
allowSubmit = false;
setTimeout(function(){ allowSubmit = true; }, 5000);
// your existing submit code here
// requesting my data..
});
也就是说,有一个指示当前是否允许提交的标志。在提交事件上,如果该标志为false,只需立即返回false
以取消提交事件。否则(如果当前是true
)将标志设置为false
,设置一个超时时间以在5秒后将标志更改回来,然后继续使用您现有的提交代码。
$("#updatestock_form").submit(function(e){
$(this).unbind("submit")
$("#submitButton").attr("disabled", "disabled")
});
非常简单。
你正在做一个ajax请求提交?因此,创建一些锁定变量var locked;
,并在提交时将其设置为locked = true;
,在ajax调用完成时将其重置为false
。(sucess-condition)
在按钮的onclick事件中禁用按钮
$("#buttonId").bind('click', function() { $(this).attr("disabled", "disabled"); });
并在操作成功后删除disabled属性
相关文章:
- 角度提交仅进行第一次v2错误
- 无法在第一次单击事件时提交表单
- Javascript:表单在第一次验证和应用样式后提交
- CSS在第一次点击jQuery.post提交时没有应用,然后在随后的点击中没有更新
- 使用 jquery $.ajax 提交表单 - 第一次提交
- jqueryajax表单提交请求第一次点击不起作用可能是什么原因
- 为什么在第一次运行所需的脚本之前,我的“提交”按钮需要点击两次
- jQuery json Ajax调用不再工作后第一次(包括表单提交,setTimeout)
- 文本区在第一次提交后第二次按回车不提交
- 如何在第一次提交后禁用表单
- 确认框第一次没有提交
- 使用Jquery第一次单击时禁用提交按钮
- jQuery表单提交,防止第一次提交后多次发送
- 表单提交问题(第一次页面加载错误)
- submit函数在第一次提交jquery之后提交两次,PHP
- 主干路由器只在第一次触发,重新提交后不工作
- 表单在第一次单击后N秒自动提交
- 表单提交第一次失败,并在刷新页面时工作
- JQuery Ajax 表单序列化在第一次提交时不会给出新结果
- JQuery 函数只是在第一次按下提交按钮时调用控制器操作