javascript - 提交按钮 Javascript 未调用事件

标签 javascript

我是 JavaScript 新手。我试图找出为什么我的 javascript 函数没有被调用。我正在尝试为名称字段添加 nameVlidation 并为每个文本输入添加其他验证。但我的姓名验证本身不起作用。

Javascript 调用(formValidation.js)

'use strict';

var nameValidation = formValidation().nameValidation();

document.getElementById('submit').addEventListener('click',nameValidation);

var formValidation = function () {

return {
    nameValidation: function() {

        this.name = document.forms["contact"]["name"].value;

        if(this.name=="") {
            alert("Enter name, required");
            return false;
        }else if(this.name==[0-9]) {
            alert("Only alphabets");
        }

        return true;
    },

    addressValidation: function() {

    }
  }
};

HTML

    <form name="contact" action="#" method="post" enctype="text/plain">
<input type="text" name="name" placeholder="NAME"></br>
<input type="text" name="email" placeholder="EMAIL" required></br>
<input type="text" name="phoneNumber" placeholder="PHONE-NUMBER"></br> 
 <input type="text-box" name="message" placeholder="MESSAGE"></br>
<button id="submit" class="btn btn-primary" type="submit"><i class="fa fa-paper-plane">Submit</i></button></br>
  </form>
<script src="js/formValidation/formValidation.js"></script>

我不确定它出了什么问题。

最佳答案

     'use strict';
//Rest of your code goes here
        document.getElementById('submit').addEventListener('click',nameValidation);

由于 JavaScript 中的函数提升。默认情况下,JavaScript 将所有函数声明移动到当前作用域的顶部。这称为函数提升。这就是当前代码中未调用 nameValidation 函数的原因。

关于javascript - 提交按钮 Javascript 未调用事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45809292/

相关文章:

javascript - Knockout.js:基于文本绑定(bind)制作id

javascript - 为什么我的组件在传递 props( react )时没有渲染?

javascript - 挖空复选框装订

javascript - 如何在 HTML 中随机化幻灯片图像

javascript - 像 facebook 商业页面一样使用内置的像 open-graph api 不使用 javascript sdk

javascript - pdf生成后如何打开打印对话框?

javascript - 如果请求已处理,则阻止执行下一个路由器

JavaScript 不适用于单个 HTML 页面上的所有选项卡

javascript - event.preventDefault 在 React 中不起作用

javascript - 如何转换 JavaScript 对象以从 C++ 访问其数据?