問題タブ [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 投票する
10 に答える
6799 参照

asp.net - ダブルクリックを防ぐために送信ボタンを無効にすると、フォームが送信されないのはなぜですか?

地球上の他のすべての Web 開発者と同様に、ユーザーがフォームの送信ボタンをダブルクリックするという問題があります。私の理解では、この問題を処理する従来の方法は、最初のクリックの直後にボタンを無効にすることですが、これを行うと投稿されません

私はこれについていくつかの調査を行いましたが、神は十分な情報があることを知っていますが、フォーム送信のボタンを無効にする、ボタンを無効にするなどの他の質問は機能しているようです。送信後にボタンを無効にする元のポスターには、私と同じ問題があったようですが、彼がそれをどのように/解決したかについては言及されていません。

これを繰り返す方法に関するコードを次に示します(IE8 Beta2でテストされましたが、IE7でも同じ問題がありました)

私のaspxコード

私のcsコード

ボタンをクリックすると、ポストバックが発生し、時刻が更新されることに注意してください。ただし、チェックボックスをオンにすると、次にボタンをクリックしたときにボタンが無効になりますが (予想どおり)、ポストバックは行われません。

ここで何が欠けているのですか?

前もって感謝します。

0 投票する
4 に答える
2589 参照

asp.net - DataGrid/CheckBoxes/二重送信に関するヘルプ

シンプルなデータグリッドがあります。各行にはチェックボックスがあります。チェックボックスは autopostback に設定されており、コード ビハインドにはチェックボックスの check-changed イベントのイベント ハンドラーがあります。これはすべて期待どおりに機能し、複雑なことは何もありません。

ただし、チェックボックスがチェックされたらすぐにチェックボックスを無効にして、二重送信を防ぐ必要があります。つまり、チェックボックスがチェックされ、すべてのチェックボックスがクライアント側の JavaScript を介して無効になり、フォームが送信されます。

これを実現するために、次のように onclick イベントにいくつかのコードを挿入しています (アラートはテスト用であることに注意してください!)。

レンダリングされたページのソースを調べると、次のようになります。

すべてが順番に表示されますが、サーバー側のイベントは発生しません。これは、チェックボックスが無効になっていることが原因であると考えられます。アラートをそのままにして、チェックボックスを無効にする呼び出しを削除すると、すべて正常に動作します。

チェックボックスが無効になっている場合でも、check-changed イベントを強制的に発生させることはできますか?

0 投票する
13 に答える
72382 参照

javascript - [戻る] ボタンと [更新] ボタンでフォームが再送信されないようにするにはどうすればよいですか?

私はウェブ開発を行っています。

クレジットカードに関するページがあります。ユーザーが「更新」または「戻る」をクリックすると、トランザクションがもう一度実行されますが、これは望ましくありません。

これには、ブラウザの左上の「戻る」および「更新」ボタン、「右クリック->更新/戻る」、「F5」キーの押下が含まれます。これは、すべてではなく、特定の cgi ページでのみ実行されます。

Javascriptを使用してこれを行うことはできますか? または他の方法はありますか?

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

javascript - ブラウザの「戻る」ボタンと「更新」ボタンを無効にする

私はウェブ開発を行っています。クレジットカードに関するページがあります。ユーザーが「更新」または「戻る」をクリックすると、トランザクションがもう一度実行されますが、これは望ましくありません。これには、ブラウザの左上の「戻る」および「更新」ボタン、「右クリック->更新/戻る」、「F5」キーの押下が含まれます。これは、すべてではなく、特定の cgi ページでのみ実行されます。Javascriptを使用してこれを行うことはできますか? または他の方法はありますか?

ありがとう、シーティー

完全な複製: [戻る] ボタンと [更新] ボタンでフォームが再送信されないようにするにはどうすればよいですか?

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

iphone - 送信用のスクリーン グラブ内の iphone facebook アイコン

投稿用の画面グラブ リストの 1 つに Facebook のアイコンを入れると、Apple SDK に違反すると思いますか?

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

html - 二重フォーム送信の防止

Exact Duplicate :サーバー側で複数の送信を処理する方法

当面の一般的なタスク: マルチユーザー Web ベース アプリケーションでの二重フォーム送信の防止。金融取引を考えてみてください。

タンデムで使用できる 2 つの方法があります。

  1. ボタンの JavaScript 無効化
    • 短所: JavaScript が無効になっていると機能しません
  2. バックエンド検証 - このタイプの最後のリクエストがこのユーザーから送信されたのがどれくらい前かを確認し、それほど前でない場合はエラーを発行します
    • 短所: 2 つの提出物が十分に接近している場合、それぞれが他方を認識できない可能性があります。

ベスト プラクティスや難解なトリックを提供してくれる専門家を探しています。任意の言語とフレームワークを使用できますが、特に興味深いのは Django です。当面のタスクについては Web 上で多くのことが書かれていますが、ここでベスト プラクティスが示されているとよいでしょう。

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

jboss - JBoss Post Form が URL でパラメーターを送信するのはなぜですか?

JBoss フォームは、POST フォームであるにもかかわらず、リクエストではなく URL にパラメーターを投稿しています。Firebugを使用して、フォームが実際のページに投稿されることを確認しました。これはポートレット内にあることに注意してください。

次のようなJavaScriptを使用してフォームを送信しています。

「ポートレット」の由来

URL で入力を取得する理由はありますか?

結果のマークアップは次のようになります。

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

javascript - 二重送信を避けるための scriptaculous のようなコンポーネント

長時間のバックグラウンド処理フォームで、ユーザーが送信ボタンを 2 回押すのを防ぐスクリプトを探しています。機能だけでなく、視覚的にも魅力的なものを実装したいと考えています。たとえば、 scriptaculous を使用してこれを達成する方法のヒントを共有できますか?

ありがとう

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

jquery - jquery初心者:検証と非表示の送信ボタンを組み合わせる

私はjQueryが初めてです。私はこれで私のフォーム(MVC 1.0 / C#)で動作するように検証しました:

また、送信ボタンを非表示にして、コントローラーが完了してリダイレクトする前にマウスのけいれん症候群が重複エントリを引き起こすのを防ぎたいと考えています (私は GPR パターンを使用しています)。以下は、この目的のために機能します。

ただし、2つを連携させることはできません。具体的には、[送信] ボタンがクリックされた後に検証が失敗した場合 (フォームがどのように機能するかによって発生します)、「クリックされた」プロパティをリセットするブラウザーの更新を行わない限り、フォームを再度送信することはできません。

上記の 2 番目のメソッドを書き直して、フォームが検証されない限りクリックされたプロパティを設定しないようにするにはどうすればよいですか?

どうも。

0 投票する
24 に答える
213998 参照

javascript - jQueryでのフォームの二重送信を防ぐ

サーバーが処理するのに少し時間がかかるフォームがあります。ユーザーが待機し、ボタンをもう一度クリックしてフォームを再送信しようとしないようにする必要があります。次のjQueryコードを使用してみました。

Firefoxでこれを試してみると、すべてが無効になりますが、フォームには、含まれているはずのPOSTデータが送信されません。複数の送信ボタンがあり、POSTに含まれる値にどのボタンが使用されたかを判断するため、フォームと一緒にボタンを送信する必要があるため、jQueryを使用してフォームを送信できません。フォームを通常どおりに送信する必要があり、その直後にすべてを無効にする必要があります。

ありがとう!