Javascript 为什么浏览器会触发我的onclick功能?

Javascript 为什么浏览器会触发我的onclick功能?,javascript,onclick,Javascript,Onclick,我试图创建一个onclick事件(javascript),通过按下按钮从HTML表单获取输入数据。我正在JS文件中使用window.onload函数。 我的表单如下所示: <div class="set-the-clock"> <form name="settheclock"> <span>Hours: </span><input type="text" name="fhours"><br>

我试图创建一个onclick事件(javascript),通过按下按钮从HTML表单获取输入数据。我正在JS文件中使用window.onload函数。 我的表单如下所示:

<div class="set-the-clock">
    <form name="settheclock">
        <span>Hours: </span><input type="text" name="fhours"><br>
        <span>Minutes: </span><input type="text" name="fminutes"><br>
        <span>Seconds: </span><input type="text" name="fseconds"><br>
        <input type="button" id="send" value="Enter">
    </form>
我的设置是锁定按钮()


当我在google chrome中按view时,会出现wtf警报,因此我的按钮似乎被“自身”点击,我不知道为什么:(

设置事件侦听器时,您正在执行
设置锁定按钮()
。请关闭
()


删除
设置锁定按钮()
中的括号,例如:

document.getElementById("send").addEventListener("click",setTheClockByButton);
它不起作用,因为使用这些括号调用函数,而不是将其绑定到事件


有关
addEventListener
基本用法的更多详细信息,请查看。

删除
setTheClockByButton()
中的括号,当您创建函数时,实际上是在设置变量。创建函数的方法如下所示

var functionName = function() {
    //Your code here
};
因此,要将函数分配给处理程序,必须使用函数变量名称,但要调用函数,需要添加括号。在这种情况下,只需要变量名称,如下所示

var functionName = function() {
    //Your code here
};

document.getElementById(“发送”).addEventListener(“单击”,设置锁定按钮);

我记得(可能不太清楚,但我记得)在某些浏览器中,当缺少submit按钮且只有一个按钮时,它的工作方式与submit form类似。可能是与此相关的小故障?只是一个建议,所以我只是对其进行注释。您正在执行事件处理程序,而不是将其作为引用传递
setTheClockByButton()
应该是
addEventListener
调用中设置锁定按钮
document.getElementById("send").addEventListener("click",setTheClockByButton);
var functionName = function() {
    //Your code here
};