у меня есть форма
<form method = "POST" id = "form1" action"<%=login%>">
<input id = "btn" type = "submit" value = "Log in" />
где %=login% — это страница jsp, которая вызывает код java.
Я заметил, что если я удерживаю кнопку ввода при входе в систему или нажимаю кнопку много раз, он постоянно создает новые сеансы и запросы для пользователя. Как мне лучше всего отключить возможность постоянно нажимать кнопку, пока я жду ответа сервера?
Спасибо
Как можно отключить кнопку, пока я не получу ответ от сервера? Я попытался добавить функцию «onclick» к кнопке, где она отключает ее, а затем отправляет, но кнопка отключена, поэтому она не отправляется.
Вы можете предотвратить действие, если обнаружите его более одного раза.
document.querySelector("#form1").addEventListener("submit", function(e) {
if (this.dataset.active) {
e.preventDefault;
return;
}
this.dataset.active = 'true';
});
Я бы назвал страницу JSP запросом AJAX. Чтобы страница не перезагружалась, добавьте в форму EventListener:
document.getElementById("form1").AddEventListener("submit", e => {
e.preventDefault();
document.getElementById("btn").disabled = true;
// AJAX Request
});
Если запрос выполнен успешно или неудачно, установите для отключенного атрибута кнопки значение false.
что мешает скрыть или отключить кнопку?