Почему код запускается без вывозова?
подскажите пожалуйста почему при обновление страницы происходит проверка что форма заполнена? Вроде повесил запуск на событие submit
(function () {
var forms = document.querySelectorAll('.js-form')
const emailMask = /^[A-Z0-9._-]+@[A-Z0-9.-]+\.[A-Z0-9.-]+$/i;
if( forms.length <1){
return
}
forms.forEach(function (form){
console.log('новая форма')
var inputs = form.querySelectorAll('input')
var submitButton = form.querySelector('.js-submit-button')
if(!submitButton) {
return
}
submitButton.addEventListener('click', validateForm(inputs))
form.addEventListener('submit', function (e){
e.preventDefault()
validateForm(inputs)
})
})
function validateForm(inputs){
inputs.forEach(function (input){
validateInput(input)
})
}
function validateInput(input){
console.log(input.type)
if(input.type === 'email') {
if(input.value.length < 1 || !emailMask.test(input.value)) {
addError(input)
}else if(input.value.length < 1) {
addError(input)
} else {
removeError(input)
}
}
if(input.type === 'text') {
if(input.required) {
if(input.value.length < 1) {
addError(input)
} else {
removeError(input)
}
} else {
removeError(input)
}
}
if(input.type === 'checkbox'){
if(input.required) {
if(!input.checked){
addError(input)
}else{
removeError(input)
}
}else {
removeError(input)
}
}
}
function addError(input){
console.log('error')
if(input.type === 'checkbox'){
let parent = input.closest('div')
parent.querySelector('label').classList.add('label-error')
}else {
input.classList.add('input-error')
}
}
function removeError(input){
console.log('good')
if(input.type === 'checkbox'){
let parent = input.closest('div')
parent.querySelector('label').classList.remove('label-error')
}else {
input.classList.remove('input-error')
}
}
function showSuccess(form) {
form.classList.add('form--success');
const submitBtn = form.querySelector('.js-form-submit');
setTimeout(() => {
submitBtn.classList.add('disabled');
form.classList.add('form--success');
form.reset();
}, 2000)
}
})();