Закрытие модального окна при ошибке
Помогите пожалуйста с проблемой, при нажатии на кнопку "Отправить" закрывается модальное окно, даже если поля пустые, то есть он выдаёт ошибку и обводит пустые поля - всё как надо, но скрывает модальное окно из-за чего надо пользователю его вновь вызывать самому - т.е. форму. Как исправить это? Код формы такой:
<form class="form js-form" method="POST" action="./php/telegrambot.php">
<div class="modal-header">
<h1 class="modal-title" id="exampleModalLabel">Заявка</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body bg-light">
<div class="row">
<div class="col-6">
<label class="form-label"><b>Имя:</b></label>
<input class="form-control input js-input">
</div>
<div class="col-6">
<label class="form-label"><b>Контактный номер:</b></label>
<input class="form-control input js-input">
</div>
</div>
</div>
<div class="modal-footer bg-danger border-top">
<div class="content-center">
<button type="submit" class="btn btn-outline-primary border-2" data-bs-toggle="modal">Отправить</button>
</div>
</div>
</form>
Код на проверку js написал вот такой:
let form = document.querySelector('.js-form'),
formInputs = document.querySelectorAll('.js-input');
form.onsubmit = function () {
let emptyInputs = Array.from(formInputs).filter(input => input.value === '');
formInputs.forEach(function (input) {
if (input.value === '') {
input.classList.add('error');
} else {
input.classList.remove('error');
}
});
if (emptyInputs.length !== 0) {
console.log('inputs not filled');
return false;
}
}
Где добавить изменения?
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
form.onsubmit = function (e) {
e.preventDefault();
...
...
далее по тексту
либо в самом конце form.onsubmit дописать return false. Думаю тоже должно помочь