暂时禁用提交功能

时间:2012-06-25 16:52:20

标签: javascript forms

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

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

使用JavaScript执行此操作的最简单,最简单的方法是什么?

2 个答案:

答案 0 :(得分:1)

你的意思是:

setTimeout(myFuction, 30000) // wait for 30 seconds and then call function

答案 1 :(得分: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;
    } 
}