ユーザーがボタンをクリックした後にボタンを無効にして、二重送信やアクションを防ぐことに取り組んでいます。ボタンは2種類あります。送信してページをリロードするphpボタン(またはフォームボタン)。私はそれで何の問題もありません。ボタンを永久に無効にするだけで、リロード後に再びプッシュ可能になります。ここに例があります:
$(document).on('click', 'button', function() {
var $this = $(this);
htmls = $(this).html();
$(this).prop("disabled", true);
setTimeout(function(){
$this.prop("disabled", false);
}, 2000);
});
これは現在 2 秒間ですが、setTimeout の部分は削除します。より大きな問題は Javascript ボタンです。このボタンはページをリロードしません。ユーザーがボタンを押すと、ボタンで開始されたプロセスが終了するまで無効にし、再度有効にする必要があります。ボタンが送信を行うかどうか、またはフォーム内のすべてのフィールドをクリアするかどうかを確認できます。ボタンを押して開始したプロセスを取得し、終了したら作業できるのではないかと考えていました。これは可能ですか?または、他の回避策はありますか?