Answer the question
In order to leave comments, you need to log in
Is the JS code written correctly?
Greetings comrades, I'm learning how to create websites, and the following problem arose, I'm making a submission form, and validation by e-mail does not work, tell me what could be the problem?
"use strict"
document.addEventListener('DOMContentLoader', function () {
const form = document.getElementById('form');
form.addEventListener('submit', formSend);
async function formSend(e) {
e.preventDefault();
let error = formValidate(form);
}
function formValidate(form) {
let error = 0;
let formReq = document.querySelectorAll('._req');
for (let index = 0; index < formReq.length; index++) {
const input = formReq[index];
formRemoveError(input);
if(input.classList.contains('_email')){
if (emailTest(input)) {
formAddError(input);
error++;
}
} else if (input.getAttribute('type') === 'checkbox' && input.checkbox === false) {
formAddError(input)
error++;
} else {
if (input.value === '') {
formAddError(input);
error++;
}
}
}
}
function formAddError(input) {
input.parentElement.classList.add('_error');
input.classList.add('_error');
}
function formRemoveError(input) {
input.parentElement.classList.remove('_error');
input.classList.remove('_error');
}
//Функция проверки E-mail
function emailTest(input) {
return /^(([^<>()[\]\\.,;:\[email protected]"]+(\.[^<>()[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[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,}))$/.test(input.value);
}
});
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question