![](/img/trans.png)
[英]prevent users to post multiple submission by clicking submit button multiple times
[英]prevent multiple submission with button
我目前正在查看所有防止使用按钮标签进行多次提交的可能性。 我面临的问题是,如果用户真正快速单击“提交”按钮,它将使他们能够提交多个帖子。 我想将提交内容限制为仅提交一个。 我尝试使用onclick="this.disabled = true
,但是它使按钮根本无法工作,当前的按钮标签如下所示:
return "<button class='button btn btn-primary' id='gform_submit_button' onclick='this.disabled = true' type='submit'><span>Submit!/span></button>";
谁能指导我如何实现这一目标?
最终,您不能在客户端阻止多个提交。 您将必须以任何使用的服务器端语言(例如PHP)在服务器端实施这些安全措施。
在客户端 ,您可以执行以下操作
var canSubmit = true;
$('.button').click(function(){
if(canSubmit)
{
// fire missiles
canSubmit = false;
}
else
{
// sorry missiles loading
}
});
现在,由于在单击一次canSubmit
其设置为false
,因此第二次单击将不会运行该代码。 验证或处理提交的数据后,可以将canSubmit
设置为true
。
当按钮为onClicked时,请调用此函数:
function submitFunc(formId){. document.getElementById(formId).submit();
}
提交页面总是很棘手。 提交有两个挑战
有一个技巧可以解决此挑战,可以使用GET调用重定向页面。 您用来加载数据的GET调用。 在此处了解更多信息。
因此,我建议在提交表单后将页面重定向到GET。
在此过程中,将加载新表单,如果用户尝试提交表单,则将触发将处理第一个挑战的验证。
并且由于重定向,因为您的最后一次调用是GET,刷新数据将被加载,并且其中没有任何危害。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.