我正在尝试创建一个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>
我的onclick事件:
document.getElementById("send").addEventListener("click",setTheClockByButton());
和我的setTheClockByButton():
function setTheClockByButton() {
alert("wtf");
setTheClock(setHour, setMinute, setSecond);
}
当我在谷歌浏览器中按下视图时,会显示带有wtf的警报,所以看起来我的按钮被“自身”点击了,我不知道为什么:(
答案 0 :(得分:2)
删除setTheClockByButton()
中的括号,当您创建一个实际设置变量的函数时。创建函数的长手就是这样。
var functionName = function() {
//Your code here
};
因此,要将函数分配给处理程序,必须使用函数 variable name,但要调用函数,请添加括号。在这种情况下,您只需要变量名称,因此它看起来像这样。
document.getElementById("send").addEventListener("click",setTheClockByButton);
答案 1 :(得分:0)
您在设置事件侦听器时正在执行setTheClockByButton()
。不要使用()
。
document.getElementById("send").addEventListener("click",setTheClockByButton);
答案 2 :(得分:0)
删除setTheClockByButton()
中的括号,例如:
document.getElementById("send").addEventListener("click",setTheClockByButton);
它没有用,因为你用这些括号调用函数而不是将它绑定到事件上。
有关addEventListener
基本用法的详细信息,请查看here。