Обрабатывайте submit формы, вызывайте preventDefault и используйте required с проверкой валидности, а не только click кнопки.
В форме при нажатии Enter происходит перезагрузка страницы. Настройте обработку submit без перезагрузки и обязательную валидацию поля.
Обрабатывайте submit формы, вызывайте preventDefault и используйте required с проверкой валидности, а не только click кнопки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обрабатывайте submit формы, вызывайте preventDefault и используйте required с проверкой валидности, а не только click кнопки.
Пример для существующих элементов:
<form id="profile">
<label>Имя <input name="name" required></label>
<button type="submit">Отправить</button>
</form>
const form = document.querySelector('#profile');
form.addEventListener('submit', event => {
event.preventDefault();
if (!form.reportValidity()) return;
const data = new FormData(form);
// Передайте data в согласованный API и обработайте ответ.
});
Скрипт запускается после появления формы. Серверная валидация остаётся обязательной; required не запрещает строку из одних пробелов без дополнительного правила.