我正在制作一个使用 jquery 提交请求一些数据的网络应用程序,但我不希望人们在第一次提交后多次提交表单。所以我希望在提交之后,下一次提交在几秒钟内什么都不做。
$("#updatestock_form").submit(function(e){
// requesting my data..
});
我怎样才能做到这一点?
最佳答案
"So i want after a submit, that the next submit does nothing for a few seconds."
如果您的意思是您希望忽略用户的第二次和后续提交尝试,直到经过一定秒数后,您可以通过多种方式实现。这是第一个想到的:
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
以取消提交事件。否则(如果当前为 true
)将标志设置为 false
,设置超时以在 5 秒后更改标志,然后继续您现有的提交代码。
关于javascript - jQuery表单提交,防止第一次提交后多次发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15949557/