Я обнаружил некоторые проблемы:
1 - Когда есть форма и кнопка с типом «отправить», язык разметки пытается опубликовать после нажатия кнопки, включив данные в URL.
URL Before Click: https://foobar.com/index.html
URL After Click: https://foobar.com/index.html?book_title=a&author=a&first_name=a&last_name=a
Итак, как предотвратить это?
Вы можете вызвать метод protectDefault по параметру события:
btn.addEventListener('click',function validateForm(e) {
e.preventDefault();
// ...
});
или также можете добавить javascript void (0)Действие функции как атрибут формы:
<form name="req_book" action="javascript:void(0)">
<!-- ... -->
</form>
2 - Отсутствует ввод фамилии, вам нужно добавить следующее:
<td>
<input type="text" name="last_name" maxlength="175" size="50" required/>
</td>
3 - Javascript чувствителен к регистру, поэтому давайте исправим его:
btn.addEventListener('click',function validateForm() {
// ...
if (isValid == true) {
popUp();
}
}