Get the latest stories. Sign up for AlterNet's free daily newsletter.
You're all signed up!
You may opt out any time. By signing up for this newsletter, you agree to the Terms and Conditions and Privacy Policy.
var emailForm = document.querySelector('#newsletter-form');
var userEmailInput = document.querySelector('.newsletter__email');
var emailLabel = document.querySelector('.newsletter__label');
var userSubmit = document.querySelector('#submit-button');
var userFakeSubmit = document.querySelector('#fake-button');
var checkEmail = function(inputData) {
var regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return regex.test(inputData);
};
userEmailInput.addEventListener('input', function() {
emailForm.classList.remove('newsletter__input-wrapper--bad');
emailLabel.innerText = 'Email address';
if (checkEmail(userEmailInput.value)) {
userFakeSubmit.hidden = true;
userSubmit.hidden = false;
} else {
userSubmit.hidden = true;
userFakeSubmit.hidden = false;
}
});
userFakeSubmit.addEventListener('click', function() {
if (!checkEmail(userEmailInput.value)) {
emailForm.classList.add('newsletter__input-wrapper--bad');
userEmailInput.focus();
if (userEmailInput.value === '') {
emailLabel.innerText = 'Please enter your email first';
} else {
emailLabel.innerText = 'Please enter a valid email';
}
} else {
emailForm.classList.remove('newsletter__input-wrapper--bad');
emailLabel.innerText = 'Email address';
}
});