OnClick - 阻止用户进行多次提交

时间:2012-10-26 13:04:40

标签: javascript onsubmit

  

可能重复:
  how to prevent multiple form submit from client side?

我们正在使用一个项目管理工具,但是当用户在任务下提交日志时,他们会多次单击“提交”按钮。这会添加几个相同信息的条目。

我已经跟踪了PHP文件中的代码,我在网上看到了许多提交点击的解决方案。过去四五个小时我一直在玩,但不幸的是我无法得到任何工作。我希望有人可以提供一些帮助:

这是我在PHP文件中的代码:

<input type="submit"  class="button" value="<?php echo $AppUI->_('update task'); ?>" onclick="updateTask();" />

有效地我只想让用户点击按钮,然后单击一下。它显示为灰色或用户无法再点击。

谢谢

2 个答案:

答案 0 :(得分:5)

只需停用updateTask()功能中的按钮:

document.getElementById("mysubmit").disabled = true; 

这会让您无法在提交按钮中添加ID。

如果是AJAX提交,请确保在提交失败时重新启用该按钮。

答案 1 :(得分:3)

为什么不简单地禁用updateTask()脚本中的按钮?

document.getElementByID("myButton").disabled='disabled'

如果updateTask函数过于通用,那么您的按钮可以调用一个更具体的函数来处理该按钮:

function myButtonClicked() {
    document.getElementByID("myButton").disabled='disabled';
    updateTask();
}

然后更改按钮以调用myButtonClicked而不是updateTask。

<input type="submit" ... onclick="myButtonClicked();" />