【お題】NEW演歌

画面遷移の際に確認ダイアログを表示させたいです。

ブログやメールなどの編集中(入力途中)に他画面へのリンクをクリック、更新などを行おうとすると「編集中の内容は破棄されますがよろしいですか?」というような確認ダイアログを表示させるようにしたいです。
表示されたダイアログでは「はい」「いいえ」が選択でき、「いいえ」を選択すると編集画面にとどまるようにしたいです。

IEやFirefoxではjavascriptで行えるようですが、SafariやOperaではブラウザの仕様もあってダイアログが表示されず困っております。

今まで参考にしたサイトは以下になります。
http://d.hatena.ne.jp/kaz_29/20090303/1236047477
http://css-eblog.com/javascript/js-onbeforeunloa …
http://semooh.jp/jglycy/jquery-plugins/form-obse …
上記サイトの方法を試しましたがやはりうまくは行きませんでした。

クロスブラウザ対応で、jqueryなどでこのような動作を行ったりなどできるものはありませんでしょうか。
よろしくお願いします。

A 回答 (3件)

unload → confirm → 「いいえ」 → return false;


でできるかと思って調べてみましたが、
「いいえ」を選んでもreturn falseは無視?されて
ページ遷移してしまうそうです。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …

ページを閉じようとしてconfirm → 「いいえ」 → 「閉じない」
が出来てしまうと問題があるということらしく。

自分だったらaリンクonclickとinput type=submitに全部同じ関数をくっつけ、
confirmを呼び出して「いいえ」を選んだらreturn false;にします。
unloadはユーザーの自己責任なのかなぁと思うので。

もし「それはすでに調べ済み」だったらスミマセン^^;
    • good
    • 0

beforeunloadは以前調べましたが、DOM Level 3で未定義でした。



onbeforeunload時のwindow.openが効かないのです | OKWave
http://okwave.jp/qa/q5846460.html

クロスブラウザを考慮するなら、unload ではないかと思います。
    • good
    • 1

jQueryなら、


「jQueryUI dialog」
http://jqueryui.com/demos/dialog/
「LightView」
http://www.nickstakenburg.com/projects/lightview/
「ThickBox 3.1」
http://jquery.com/demo/thickbox/

でポップさせれば別窓じゃなくてもできますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報