javascript - 添加事件以提交按钮

标签 javascript html css

我刚开始用这段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/

相关文章:

html - CSS - 为图像周围的文字留出足够的水平空间

javascript - 如何在 React JS 中导入整个 javascript 文件

javascript - FlexBox 列布局旁边的溢出指示器解决方案?

html - 媒体查询不适用于电子邮件

javascript - 使用jquery访问具有相同类名但不同测试的嵌套div

javascript - 将输入更改为图像并使其可点击

jquery - 将文本对齐到 div Bootstrap 的底部

打开其他链接后jquery click事件不起作用

javascript - JQuery Ajax 在 javascript 中获取不同类型的变量与 PHP 相比

javascript - Windows 应用商店应用程序 - 从辅助磁贴启动时执行单个任务