我刚开始用这段js代码学习js
<div class="container">
<form name="myForm" action="#" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit" id="smit">
</form>
<script>
var smit=document.getElementById("smit");
smit.addEventListener("click",formvalidate(),false);
function formvalidate(){
console.log(" vua moi click submit");
if(t==null){
var t= document.forms["myForm"]["fname"].value;
if(t==null || t==""){
alert("xin dien vao email");
}
}
}
</script>
在浏览器中预览时,尽管我没有单击提交按钮,但会自动出现一个警告弹出窗口。 谁能解释一下发生了什么事? 谢谢。
最佳答案
函数名称后的括号会导致函数立即被调用。由于您只是将其指定为事件监听器,因此您想传递它。
去掉括号,它会在执行前等待点击:
smit.addEventListener("click", formvalidate, false);
// ^^ No parentheses
关于javascript - 添加事件以提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555115/