我是 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/