1

我有一个提交按钮触发功能的表单。让我们称之为myFunction()。我需要在提交后禁用此功能 30 秒,但我需要提交按钮才能继续工作。我不想禁用整个按钮,只想禁用它触发的功能。(如果用户在 30 秒之前再次点击该按钮,我需要它再次提交,但不执行myFunction第二次。)我尝试了一百万种不同的东西,但无济于事。我什至不知道要发布哪个代码作为示例。

<FORM ID="myform">
    <INPUT ID="mysubmit" TYPE="SUBMIT" ONCLICK="myFunction();">
</FORM>

使用 JavaScript 最简单、最简单的方法是什么?

4

2 回答 2

1

你的意思:

setTimeout(myFuction, 30000) // wait for 30 seconds and then call function
于 2012-06-25T16:54:43.377 回答
1
<FORM ID="myform">
<INPUT ID="mysubmit" TYPE="SUBMIT" onClick="myFuction2();">
</FORM>


function myFuction() {
    ...
}

function myFuction2() {
    toggleSubmit();
    setTimeout("toggleSubmit", 30000);
    myFuction();
}

function toggleSubmit() {
    if (document.getElementById('mysubmit').onclick == null) {
        document.getElementById('mysubmit').onclick = myFuction2;
    } else {
        document.getElementById('mysubmit').onclick = null;
    } 
}
于 2012-06-25T16:57:26.753 回答