svyatogor92
svyatogor92

Reputation: 113

"if" statement for validating a form doesn't work properly

I have this newsletter form with email input generated with wordpress plugin. Form action is set to a sub-page. I want to check if given email adress is correct - if not, I want to print an alert message.

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();
});

My problem is, when I type a correct email adress I still get alert and button default event is prevented from action.

What am I doing wrong?

Upvotes: 0

Views: 39

Answers (1)

Thomas Ludewig
Thomas Ludewig

Reputation: 725

strange construct but anyhow

 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();
  }
}

Upvotes: 1

Related Questions