SetTimeout()函数在提交按钮的onclick事件中不起作用

时间:2013-11-01 06:40:34

标签: javascript html settimeout

我在HTML表单的末尾有这段代码,我想在点击提交按钮后几秒钟做一些事情。但是,只要点击按钮没有延迟就会显示消息,为了延迟工作,我该怎么做?

<input style="width: 99%" type="submit" onclick="setTimeout(alert('hello'), 10000);" value="Update and Close" />

7 个答案:

答案 0 :(得分:1)

你正在使用setTimeout做正确但是像这样使用

onclick="DoLater(); return false;" 

功能是

function DoLater(){
  setTimeout(function(){
    alert("hello");
  },10000);
}

答案 1 :(得分:1)

总是有jQuery,附加到点击事件

http://jsbin.com/omibusU/2/edit?html,js,output

答案 2 :(得分:0)

试试这个..

         

<input style="width: 99%" type="submit" onclick="myFunction();" value="Update and Close" />

<script>
function myFunction()
{
 setTimeout(function(){alert("Hello")},10000);
}
</script>

</body>
</html>

答案 3 :(得分:0)

在onclick中设置 javascript:

<input style="width: 99%" type="submit" onclick="javascript:setTimeout(function(){alert('hello')}, 5000);" value="Update and Close" /></td>

jsfiddle

答案 4 :(得分:0)

以下将做

onclick="setTimeout(function(){alert('Hello')},3000);"

答案 5 :(得分:0)

不需要使用“return false”使用“return fnname”

onclick="return fn();" 

function fn() {
    setTimeout(function(){
        alert("hello");
    },1000);
}

答案 6 :(得分:0)

如果以上解决方案不起作用,则必须按照以下要求进行操作。当您使用提交类型的按钮时,您将提交表单值。要在提交表单值后执行某些操作(在您的情况下延迟),请在表单事件上调用javascript。

因为我有类似的要求。我遵循了以下方法。在页面的head部分定义函数。

<s:form onsubmit="return javascriptfunctionname();">