ホームページ > ウェブフロントエンド > jsチュートリアル > プラグインを使用して jQuery でフォームの二重送信を防ぐ方法

プラグインを使用して jQuery でフォームの二重送信を防ぐ方法

Linda Hamilton
リリース: 2024-11-10 20:57:03
オリジナル
611 人が閲覧しました

How to Prevent Forms from Double Submission in jQuery with a Plugin?

プラグインを使用して jQuery でフォームの二重送信を防ぐ方法

サーバー側での処理に時間がかかる場合、フォームの再送信を防ぐことが重要です。残念ながら、jQuery で試みたようにすべてのフォーム入力を無効にすると、一部のブラウザでフォームの送信が妨げられる可能性があります。

推奨方法: jQuery プラグイン

二重送信を効果的に防止するには、カスタム jQuery プラグインをお勧めします:

jQuery.fn.preventDoubleSubmission = function() {
  $(this).on('submit',function(e){
    var $form = $(this);

    if ($form.data('submitted') === true) {
      e.preventDefault();
    } else {
      $form.data('submitted', true);
    }
  });

  return this;
};
ログイン後にコピー

使用法:

フォームを選択し、preventDoubleSubmission() を呼び出してプラグインを実装します:

$('form').preventDoubleSubmission();
ログイン後にコピー

カスタマイズ:

特定のフォームでページ読み込みごとに複数の送信を許可する必要がある場合は、それらのフォームにクラスを割り当て、セレクターから除外します:

$('form:not(.js-allow-double-submission)').preventDoubleSubmission();
ログイン後にコピー

追加の考慮事項:

  • 元の回答で述べたように、操作が冪等であることを保証することが最適な解決策です。
  • このプラグインは jQuery の data() メソッドに依存しているため、そうでない可能性があります。古いブラウザではサポートされていません。実装前にブラウザ間の互換性を考慮してください。

以上がプラグインを使用して jQuery でフォームの二重送信を防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート