用于验证表单的“ if”语句无法正常工作

时间:2019-11-20 17:43:12

标签: javascript forms validation email

我有此新闻通讯表单,其中包含通过wordpress插件生成的电子邮件输入。表单操作设置为子页面。我要检查给定的电子邮件地址是否正确-如果不正确,我要打印警报消息。

let emailField = document.querySelector('.email').value;
const regEx = /\S+@\S+\.\S+/;
let submitBtn = document.querySelector('.btn-submit');
let form = document.querySelectorAll('.newsletter-container > form');

function validateEmail() {
  if (regEx.test(emailField) == false) {
    alert('!!!');
    event.preventDefault();
   } else {
    form.submit();
   }
}

submitBtn.addEventListener('click', function (event) {
   validateEmail();
});

我的问题是,当我输入正确的电子邮件地址时,我仍然会收到警报,并且按钮默认事件无法执行。

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

奇怪的构造,但无论如何

 let submitBtn = document.querySelector('.btn-submit');



 function validateEmail() {
   var regEx = /\S+@\S+\.\S+/;
    let emailField = document.querySelector('.email').value;
    if (regEx.test(emailField) == false) {
       alert('!!!');
        event.preventDefault();
   } else {
      let form = document.querySelectorAll('.newsletter-container > form');
      form.submit();
  }
}