問題タブ [double-submit-prevention]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1842 参照

html - javascript/jQuery 二重送信防止メソッドは、html5 属性 (例: Required、Pattern など) の開始を無効にします。

私が使用するjavascript/jQueryの二重送信防止方法は次のとおりです。

したがって、submitclickでは、フォームは送信Submit Buttonされます。disabledしたがって、フォームの二重送信は発生しません。しかし。現在の問題は、html5 属性が開始されないことです (例: Required、Pattern など)。

これを修正する方法について誰かアイデアがありますか?

または、html5 属性を改ざんしない代替の二重送信防止方法を提案できますか?

編集 + ダニエル・パッツ 回答:

0 投票する
2 に答える
11648 参照

jquery - ダブルクリックを防ぐためにクリック後に HTML ボタンを無効にする

ダブルクリックを防ぎたいので、クリックイベントdisabledで要素に属性を設定するinputのは正しいことのようです。そして、他のスタックオーバーフローの回答はそれを反映しています。だから、これは私がjQueryを使ってCoffeeScriptで書いたものです:

私はaddClass('disabled')財団のために持っています。

通常、これは機能します。ただし、クリックして戻ると、ボタンは無効のままです。ページに移動してページがキャッシュされた場合、ボタンは無効のままです。これらすべての小さな問題を処理する JavaScript ライブラリはありますか? これは非常に一般的なニーズのようです。上記に追加する必要がある JavaScript/jQuery がもう少しありますか?

私は、HTML5 にはこのための何らかのメカニズムがあると思っていたでしょう。

更新: イベントをリッスンし、pageshow送信ボタンを無効にしようとしました:

ただし、ページが最初に読み込まれたときでも、何も起こりません。私はpageshow間違って使用していますか?

0 投票する
3 に答える
14166 参照

jsf - 二重送信防止のための Pure Java/JSF 実装

私たちは WebSphere v8.5 で JSF 2.0 を使用し、いくつかのコンポーネント ライブラリ PrimeFaces 4.0、Tomahawk 2.0、RichFaces などを使用しています。

ページが更新されたとき、または送信ボタンがもう一度クリックされたときに、フォームの再送信を回避するための一般的なメカニズムを探しています。さまざまなシナリオを持つ多くのアプリケーションがあります。

今のところ、JavaScript の inonclick属性を使用してボタンを無効にすることを検討しましたが、満足のいくものではありません。この目的のために、 Struts2 のような純粋な Java 実装を探しています<s:token>

0 投票する
0 に答える
166 参照

python - ダブルフォーム送信

Django 1.6 アプリを使用していますが、二重送信の問題に直面しています。リダイレクト、トークンなど、ここに広がるアイデアを使用できます (JS 防止を取得しましたが、信頼していません) が、送信後に API に別の要求を行う必要があります。外部 API リクエストには 20 秒かかるため、送信ボタンを操作する時間は十分にあります。
私が今得た最善の解決策は、DBにCSRF(または他の一意のトークン)を保存し、そのトークンが存在するかどうかを確認し、存在する場合はリクエストを「殺す」ことです。
しかし、それが問題です。リクエストを殺してもいいですか?API呼び出しを行う最初の/元のリクエストよりも速くブラウザに配信されるため、500、404で応答できません。Djangoでリクエストを強制終了/ドロップ/保留する方法はありますか? ひょっとして、この考えはヤバいかも?あなたの知識を共有してください。

私の英語が理解できることを願っています。

0 投票する
1 に答える
133 参照

form-submit - Enterキーでフォームの送信を停止するには?

フォームを送信したくありません。
テキストボックスでEnterキーを押すと、フォームが送信され、自動的にリロードされます。

フォームの送信を停止するには?

私のコードは.

0 投票する
1 に答える
360 参照

jsp - Struts 2 で応答ページを取得中に URL を変更する方法

ここでStrutsとHibernateを使用して登録を行っていますが、プロジェクトを実行したときに発生するような問題に直面しています

データを送信すると、データはデータベースに正常に保存され、データベースにデータを保存した後、 registration.jsp応答ページとして探していますが、その時のURLは

これにより、ページを更新すると最後に追加されたレコードが再度追加されるなどの問題が発生します

JSP フォーム:

struts.xml: