В чем причина отключения кнопки отправки?
Вы пытаетесь избежать двойного щелчка? -> Вы можете отключить кнопку отправки только на короткий промежуток времени, снова включив ее по истечении времени ожидания.
Вы пытаетесь избежать нетерпеливых повторных нажатий? -> то же самое, но с более длительным периодом бездействия.
Вы пытаетесь остановить отправку формы дважды, что вызывает повторяющиеся действия? -> Вы не можете бороться с этим просто отключив кнопку, так как переход назад / вперед приведет к перезагрузке страницы, вероятно, сохраняя старое содержимое формы, но не состояние отключенного состояния, если только bfcache не закорочен. В этом случае необходимо создать токен одноразового использования или новый идентификатор элемента, который нельзя использовать более одного раза, и поместить его в скрытое поле формы. Сервер может проверить это и запретить дубликаты.
возможно обнаружение нажатия кнопки Стоп?
Избегайте onstop
, это не совсем надежно. Помимо проблем поддержки браузера, он не может поймать все возможные комбинации навигации и остановки / перезагрузки / и т.д. Вы никогда не узнаете, как далеко зашел серверный скрипт, выполнил ли он какое-либо действие.