Javascript 如何拒绝missclick提交的相同表单

Javascript 如何拒绝missclick提交的相同表单,javascript,jquery,forms,Javascript,Jquery,Forms,我可以通过检查CSRF令牌或向我的DB添加其他令牌来拒绝表单,并检查是否已经使用了该令牌,但我想知道是否有更简单的方法使用javascript来处理此问题(可以接受使用jquery) 我希望避免同时提交两个/三个事件。使用单击时的和提交事件禁用按钮/表单无效 例如: $("#request-form").submit(function() { $(this).attr('disable', true); }); $('#btn_modal_submit').on('click', func

我可以通过检查CSRF令牌或向我的DB添加其他令牌来拒绝表单,并检查是否已经使用了该令牌,但我想知道是否有更简单的方法使用javascript来处理此问题(可以接受使用jquery)

我希望避免同时提交两个/三个事件。使用单击时的
提交事件禁用按钮/表单无效

例如:

$("#request-form").submit(function() {
   $(this).attr('disable', true);
});
$('#btn_modal_submit').on('click', function() {
   $(this).attr('disable', true);
});

所需的属性是“代码>禁用< /代码>,而不是<代码>禁用<代码>,并且可以确定当前对象的位置,但是您可能想考虑禁用该窗体上的所有按钮(假设它们都是“按钮”类型):

或者使用
prop(“disabled”,true)
功能。其他参考:

我直接针对按钮控件,它将指示禁用所有按钮并防止意外单击,直到正确的表单发回。您可能不需要同时附加到表单提交和按钮单击,但这取决于应用程序的行为。此外,如果不是真正的回发,例如AJAX回发,您可以将其与
window.setTimeout
结合起来重新启用按钮。

您可以使用
.one()
而不是
.on()
来在单击时提交表单

$('#btn_modal_submit').one('click', function(){
    $("#request-form").submit();
});

显示一些代码。为什么不禁用按钮/表单?对我来说,这似乎是标准做法me@larz,我仍然能够快速单击按钮,它发送了多个请求。在每个请求中添加一个警报(“此处”)以验证这些请求是否首先被调用…我使用标签标签提交表单,因为我使用的是模式。。。禁用真实按钮/输入(type=“submit”)使其工作。Thanks按钮被调用一次,但表单被调用多次
$('#btn_modal_submit').one('click', function(){
    $("#request-form").submit();
});