オンライン フォームを使用する場合、厄介な問題、つまり恐ろしい「フォームの再送信の確認」ダイアログに遭遇することがあります。ユーザーが入力した貴重なデータを含むフォームを送信した後、ページを更新するとこのダイアログがトリガーされ、ユーザーに意図の確認を求め、重複送信につながる可能性があります。
この問題は、フォーム データがまだキャッシュされているために発生します。ブラウザ。ページを更新すると、ブラウザはフォームが以前に送信されたことを検出し、偶発的な重複アクションを防ぐために再送信の可能性についてユーザーに警告を試みます。
この不便なダイアログを回避するには、簡単な解決策を実装できます。それは、ブラウザのデフォルトの動作を JavaScript コードでオーバーライドすることです。リロードされたページの HTML 内に次のコード スニペットを含めることで、現在の状態を新しいクリーンな状態に置き換えるようブラウザに指示し、以前のフォーム送信を効果的に消去できます。
<code class="javascript">if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); }</code>
このコードは 'replaceState' を利用します。 ()' 関数を使用してブラウザの履歴に新しいエントリを作成し、現在のエントリを上書きします。その結果、ユーザーがページを更新すると、ブラウザは以前のフォーム データが存在しないことを認識し、[フォームの再送信の確認] ダイアログを表示しません。
以上がWeb ページを更新するときに「フォームの再送信の確認」ダイアログが表示されないようにする方法はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。