/
Coderdev
/
web-static-labs
Обзор
Документация
Войти
/
Coderdev
/
web-static-labs
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
html/lab5/task9/script.js
77 строк
3 KB
Coderdev
1
12 май 2026, 12:37
12 май 2026, 12:37
d8ecd0f
Код
Авторство
О чём код?
document.addEventListener('DOMContentLoaded', () => { const form = document.getElementById('mainForm'); const deliveryCb = document.getElementById('delivery'); const addressBox = document.getElementById('addressBox'); // Появление поля адреса deliveryCb.addEventListener('change', () => { addressBox.style.display = deliveryCb.checked ? 'block' : 'none'; }); form.addEventListener('submit', (e) => { e.preventDefault(); let isValid = true; document.querySelectorAll('.error, .hint').forEach(el => el.textContent = ''); const login = document.getElementById('login').value.trim(); if (!login) { showError('loginError', 'Логин обязателен'); isValid = false; } else if (login.length < 5 || login.length > 20) { showError('loginError', 'Логин должен быть от 5 до 20 символов'); isValid = false; } const pass = document.getElementById('password').value; if (!pass) { showError('passwordError', 'Пароль обязателен'); isValid = false; } else if (pass.length < 5 || pass.length > 12) { showError('passwordError', 'Пароль должен быть от 5 до 12 символов'); isValid = false; } const confirmPass = document.getElementById('confirmPassword').value; if (confirmPass !== pass) { showError('confirmError', 'Пароли не совпадают'); isValid = false; } const age = parseInt(document.getElementById('age').value); if (isNaN(age)) { showError('ageError', 'Введите возраст'); isValid = false; } else if (age < 14) { showError('ageError', 'Возраст слишком мал'); isValid = false; } else if (age > 120) { showError('ageError', 'Возраст слишком велик'); isValid = false; } else if (age >= 14 && age < 18) { document.getElementById('ageHint').textContent = 'Требуется согласие родителей'; } const city = document.getElementById('city').value; if (city === "") { showError('cityError', 'Выберите город'); isValid = false; } if (deliveryCb.checked) { const address = document.getElementById('address').value.trim(); if (!address) { showError('addressError', 'Укажите адрес доставки'); isValid = false; } } if (isValid) { alert('Форма успешно заполнена!'); } }); function showError(id, message) { document.getElementById(id).textContent = message; } });