jQuery または Javascript で二重送信を防ぐにはどうすればよいですか? 質問する

jQuery または Javascript で二重送信を防ぐにはどうすればよいですか? 質問する

せっかちなユーザーが送信ボタンを何度もクリックするため、データベースに重複したエントリが入り続けます。

グーグルで何度も検索していくつかのスクリプトを見つけましたが、どれも十分ではないようです。

JavaScript または jQuery を使用して、これらの重複エントリの発生を防ぐにはどうすればよいですか?

よろしくお願いします!

ベストアンサー1

送信ボタンを無効にするのはどうでしょうか? 私はそうしています。問題なく動作します。

$('form').submit(function(){
    $('input[type=submit]', this).attr('disabled', 'disabled');
});

免責事項:
これは、ユーザーのブラウザで JavaScript が有効になっている場合にのみ機能します。送信されるデータが重要な場合 (クレジットカード購入など)、私のソリューションは防御の第一線としてのみ考慮してください。ただし、多くのユースケースでは、送信ボタンを無効にすることで十分な予防策が提供されます。

まず、この JavaScript のみのソリューションを実装します。次に、重複レコードがいくつ作成されているかを追跡します。ゼロ (または気にしないほど低い) であれば、これで完了です。高すぎる場合は、既存のレコードのバックエンド データベース チェックを実装します。

おすすめ記事