Javascript 如何从onClick调用函数

Javascript 如何从onClick调用函数,javascript,Javascript,我正在尝试制作一个倒计时计时器,当你点击按钮时开始计时。我似乎无法使用onclick调用函数。从onclick调用带有字符串参数的函数的正确语法是什么?我试过: onclick="countDown(10, 'status')" 但这不起作用。有人知道我做错了什么吗 演示: 函数countDownsecs,elem{ var元素=document.getElementByIdelem; element.innerHTML=请等待+秒+秒; ifsecs您可以通过如下方式单击按钮调用java

我正在尝试制作一个倒计时计时器,当你点击按钮时开始计时。我似乎无法使用onclick调用函数。从onclick调用带有字符串参数的函数的正确语法是什么?我试过:

onclick="countDown(10, 'status')" 
但这不起作用。有人知道我做错了什么吗

演示:

函数countDownsecs,elem{ var元素=document.getElementByIdelem; element.innerHTML=请等待+秒+秒;
ifsecs您可以通过如下方式单击按钮调用javascript函数: 用这个

    <input type="submit" name="go" onclick="countDown(10, 'status'); return false">

这是正确的语法,至少如果您要使用内部事件属性,但是您已经在submit按钮上使用了它,因此在函数运行后的一瞬间,表单提交并加载一个新页面,该页面将清除您使用JS所做的更改

可以从onclick函数返回false,以防止出现默认行为:

onclick="countDown(10, 'status'); return false;" 
现代代码倾向于使用JavaScript绑定事件处理程序

document
    .querySelector("input[type=submit]")
    .addEventListener("click", function (event) {
        event.preventDefault();
        countDown(10, 'status');
});

问题是您正在使用提交类型的按钮。如果需要避免提交表单,请返回false:

<div id="status"></div>

<form>
<input type="submit" name="go" onclick="countDown(10, 'status'); return false;">
</form>

有两件事,请在此处查找更改:

总结:

你有一个局部变量secs,它总是从10开始递减,所以它总是9,并且永远不会小于这个值 submit控件类型立即发送表单并重新加载页面 由于缺少返回,即使secsis的值小于0,也要设置计时器
上面链接的fork按预期工作。

不工作-问题是什么?在演示中,它工作得非常好