【jQuery】「このサイトを離れますか?」を無効にする

登録フォームを飛ばして確認フォームからスタートする処理を組んでいたが、ブラウザback、もしくは「戻る」ボタンで history.back() 実行をやると、ブラウザのフォーム入力中警告が出る問題が発生。

入力せずに予めこちらで設定したデータを既存のフォームの確認ページに表示させるというやり方をしているので、文言の変更はしないし、実際には入力中じゃない。

にも関わらず、「移動しますか?」と警告ダイアログを表示してくれやがりますので、ちょいとgoogle検索すると、beforeunload というイベントに介入すれば良いのが分かった。

理屈上は、e.preventDefault() のみや、$(window).off(…)のみで良さそうに思えるのだが、どちらも必須。

この辺の理不尽な仕様は、javascript に苦しめられてきた者なら分かるかもしれないけど、google検索しても出てこなかったので、経験を積んでないと難しいかもしれないなあ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください