单击但在提交jQuery / PHP后禁用提交按钮

时间:2013-06-16 03:21:34

标签: php jquery post

目前我正在开展一个项目,要求提交一份表格,用于特定职位的“投票”。目前点击“提交”按钮可以正常工作,但如果按钮被多次单击,则确实如此 - 多次提交POST变量,使其能够多次“投票”该项目。一组点击。

我看过每个jQuery代码示例,我可以找到解决这个但没有任何作用。它可以禁用按钮,但在此之后,抓取数据并运行查询的重定向页面会返回错误,因为没有提交任何内容。简而言之,它似乎禁用了按钮,但同时禁止提交信息。

这是我的jQuery代码:

$('#vote').submit(function(){
    $(this).children($btn).attr('disabled', true);
    return true;
});

任何帮助都会很棒。 感谢。

4 个答案:

答案 0 :(得分:3)

使用jquery .one

说明: 将处理程序附加到元素的事件。处理程序每​​个元素最多执行一次。

 $(document).one("click","#vote",function(){
        $(this).children($btn).attr('disabled', true);
        return true;
    });

答案 1 :(得分:1)

可能你最好的选择是只允许一次提交并以其他方式调整按钮外观:

var submitted = false;
$('#vote').submit(function(){
  if(submitted) {
    // cancel additional submits
    return false;
  }

  submitted = true;
  $(this).children($btn).val('Please wait...');
});

答案 2 :(得分:1)

Jquery的onoff可以在这里使用。

例如,在提交后,您可以通过

完全禁用点击
$('#vote').off('click');

然后根据需要将其切换回来

$('#vote').on('click');

答案 3 :(得分:1)

您可以添加click event。而不是使用提交按钮使用按钮单击事件。

代码可能看起来像这样

$($button).click(function(){
$(this).attr("disabled","disabled");
$($form).submit();
});