Javascript 为什么浏览器会触发我的onclick功能?
我试图创建一个onclick事件(javascript),通过按下按钮从HTML表单获取输入数据。我正在JS文件中使用window.onload函数。 我的表单如下所示: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>
<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
};