Отключенная кнопка отправки остается отключенной, если пользователь прерывает перенаправление на новую страницу
Я хотел бы отключить кнопку отправки после ее нажатия с использованием JavaScript.
myForm.onsubmit = function () {... mySubmitButton.disabled = true;...}
Но когда пользователь перестает открывать новую страницу, пока текущая еще жива, кнопка остается отключенной.
Тот же результат будет, если содержимое с сервера является файлом (в этом случае перенаправление на новую страницу не будет).
Есть ли способ определить, не хочет ли браузер "хотеть" загружать новый URL, и снова включить mySubmitButton?
2 ответа
Я думаю, что вы можете использовать setTimeout для вызова функции, которая снова включает кнопку. Время ожидания должно быть разумным значением, например 5000 (5 с). Я не помню, выполняются ли вызовы setTimeout/Interval после перенаправления страницы, поэтому сначала проверьте его.
Есть несколько способов сделать это, если вам действительно нужно сделать все это на стороне клиента:
Попробуйте снова включить кнопку, если пользователь решит снова отредактировать, например, щелкнув любое поле формы.
Как сказал @Adilson, setTimeout также является хорошим решением, вам не нужно ждать более нескольких секунд, чтобы понять, что что-то пошло не так.
Вы также можете отправить форму с помощью вызова jQuery ajax, который может вернуть команду для повторного включения кнопки, если отправка не удалась.
Я уверен, что есть и другие решения. Я надеюсь, что эти 3 дадут вам идею решить вашу проблему.