• 締切済み

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

画面遷移の際に確認ダイアログを表示させたいです。 ブログやメールなどの編集中(入力途中)に他画面へのリンクをクリック、更新などを行おうとすると「編集中の内容は破棄されますがよろしいですか?」というような確認ダイアログを表示させるようにしたいです。 表示されたダイアログでは「はい」「いいえ」が選択でき、「いいえ」を選択すると編集画面にとどまるようにしたいです。 IEやFirefoxではjavascriptで行えるようですが、SafariやOperaではブラウザの仕様もあってダイアログが表示されず困っております。 今まで参考にしたサイトは以下になります。 http://d.hatena.ne.jp/kaz_29/20090303/1236047477 http://css-eblog.com/javascript/js-onbeforeunload.html http://semooh.jp/jglycy/jquery-plugins/form-observe 上記サイトの方法を試しましたがやはりうまくは行きませんでした。 クロスブラウザ対応で、jqueryなどでこのような動作を行ったりなどできるものはありませんでしょうか。 よろしくお願いします。

みんなの回答

  • zeff
  • ベストアンサー率69% (137/198)
回答No.3

unload → confirm → 「いいえ」 → return false; でできるかと思って調べてみましたが、 「いいえ」を選んでもreturn falseは無視?されて ページ遷移してしまうそうです。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9742&forum=12 ページを閉じようとしてconfirm → 「いいえ」 → 「閉じない」 が出来てしまうと問題があるということらしく。 自分だったらaリンクonclickとinput type=submitに全部同じ関数をくっつけ、 confirmを呼び出して「いいえ」を選んだらreturn false;にします。 unloadはユーザーの自己責任なのかなぁと思うので。 もし「それはすでに調べ済み」だったらスミマセン^^;

  • think49
  • ベストアンサー率59% (285/482)
回答No.2

beforeunloadは以前調べましたが、DOM Level 3で未定義でした。 onbeforeunload時のwindow.openが効かないのです | OKWave http://okwave.jp/qa/q5846460.html クロスブラウザを考慮するなら、unload ではないかと思います。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

jQueryなら、 「jQueryUI dialog」 http://jqueryui.com/demos/dialog/ 「LightView」 http://www.nickstakenburg.com/projects/lightview/ 「ThickBox 3.1」 http://jquery.com/demo/thickbox/ でポップさせれば別窓じゃなくてもできますよ。

関連するQ&A

  • ダイアログ内での遷移方法

    親ウィンドウのリンクからJavaScriptのshowModalDialogでダイアログを表示する画面を作成しているのですが、表示したダイアログの画面にもリンクがあってダイアログ内で遷移してほしいのですが、別ウィンドウが開いてそちらの方に画面が表示されてしまいます。 JavaScriptのshowModalDialogやreturnValueで試しているのですがどうもうまくいきません。 何か方法をご存知の方いらっしゃいませんでしょうか? よろしくお願い致します。

  • 閉じる際に子ウィンドウでダイアログを出す。

     現在、親ウィンドウから子ウィンドウをだした際に、ウィンドウ上の右上にある「×」を押すと確認メッセージなしにすぐに閉じてしまいます。  どうにかして、使ってる人が閉じる際に確認するようにしたいのですが・・・  JavaScriptで <body onbeforeunload="return '確認メッセージ'"> とやると画面遷移した際にもでてしまうんです。 どうにかならないでしょうか?

  • showModalDialogの子画面での画面遷移

    お世話になっています。 mike219といいます。 現在Webシステムの開発をStrutsで行っております。 そこで、一つ悩みにぶつかったので質問させていただきました。 行いたいことは、下記のような動きです。 (1)JavaScriptでshowModalDialogを使って子画面を開きます。 (2)showModalDialogで開かれた画面にいろいろ書き込みます。 (3)開かれている子画面内にあるボタンをクリックして  子画面内での画面遷移を行います。 といった感じです。 現在(3)で問題があり、ボタンをクリックした後、 新規でブラウザが立ち上がり遷移先の画面が表示されてしまっています^ ^; なにか子画面で遷移先の設定をしないといけないと 思うのですが、JavaScriptの知識が浅いため良く分かっていないです。 どなたか助けていただけませんか?

  • 確認ダイアログを表示出来ない

    jspファイルからJavaサーブレットへ削除対象情報を渡し、削除処理をしています。 submit処理の際、Javascriptでconfirmを利用して削除確認ダイアログを表示させたいのですが、表示が行われず、Javaサーブレットの処理が正しく実行されてしまいます。jspファイルをHTMLで表示させたところ、削除情報パラメータは見かけ上は正しく渡されているようです。以下のJavascriptの記述で問題となる部分が有るでしょうか? 削除対象確認画面nnnn.jspより呼び出されるjavascript check_nnnn.jsの記述は次の通りです。 taisyo_Noの値の先頭から8バイトにキー項目、9バイト目より確認情報をセットしています。 ************ function check_nnnn() { wkname = document.formnnnn.taisyo_No.value.substring(8); wkres = confirm("削除対象は次の通りです。" + "\n\n" + "対象:" + wkwname); if (!wkres){alert("確認画面に戻ります");return false;} } ******************** 尚、ブラウザはIE6.0を使用しております。

  • ブラウザ画面を出さずにダウンロードダイアログを出すには

    はじめまして。 Javaの開発でブラウザの画面を出さずに アプレットからブラウザ画面に遷移し、 ダウンロードダイアログを出すようにと指示されました。 このようなことは実装可能でしょうか? ご教示お願いいたします。

    • ベストアンサー
    • Java
  • モーダルダイアログウィンドウの改修方法

    現在メンテナンスを担当しているWebアプリが モーダルダイアログウィンドウ(showModalDialog)を多用しています。 このシステムは画面は jsp と javascript で、後ろはJavaです。 特に、伝票の入力処理では各行の商品IDを入力するときにモーダルダイアログウィンドウ が開いて商品一覧が表示され、その中から商品を選択すると親画面に戻って商品情報が 表示される、という仕組みになっています。 親画面自体は開かれたままなので、画面遷移の考慮をしないで済む、という点では シンプルなプログラムになっています。 ところがこの「showModalDialog()」、ブラウザによって若干挙動が異なったり、 将来廃止されるらしい、とのことで改造を迫られています。 モーダルダイアログウィンドウを使わない設計がいいとは思うんですが、 どのような仕組みに変えた方がよいでしょうか。 例えば画面遷移で商品を選択して戻るような仕組みにすると、途中まで入力した伝票情報を すべて保持したまま遷移しなければなりません。 どのような仕組みがよいかご意見をお願いします。

  • 画面が遷移したみたいになってしまいます。

    画面ロード後にjavascriptで動的にまたjavascriptタグを表示しています。 以下のjavascriptを組み込んでみたところ、取得したjavascriptを表示したときに画面遷移したみたいになってしまいました。 どうすればきちんと表示されるようになるでしょうか。 <div id="position"></div> <script language="javascript">// <!-- var timer = setInterval("Timer()", 1000); function Timer() { var position = document.getElementById('position'); var script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.setAttribute('src', 'http://hogehoge/getjs'); position.appendChild(script); clearInterval(timer); } // --></script> http://hogehoge/getjsからはコンテンツの部品を表示するjavascriptが入っています。

  • 遷移後の画面クローズができない

    前提: ・ASP.NET ・Chromeブラウザ、バージョン:43 閉じる処理を画像リンクで行い、 記述は<a href="javascript:window.close()">としています。 初期画面はクローズすることができますが、 別画面へ遷移すると遷移先の画面では上記記述でクローズすることができません。 ※リンクをクリックしても何も動作せず。 ※IEでは正常に動作し、画面クローズできます。 ※画面オープンは、「Response.Redirect("URL");」としています。 解決策があれば教えてください。

  • MW WP Form 確認画面の遷移について

    以下、ワードプレスのフォーラムにて相談したのですが、専門的過ぎるようでお返事がいただなかった経緯がございまして、こちらでのご相談をさせていただきます。 MW WP Formを便利に使っております。 フォーム入力後の確認画面、完了画面の遷移につきまして教えてください。 フォームをページの下部に設置し、そのページ内で確認、完了画面に遷移させています。 この場合、確認画面、完了画面が表示される際に、その都度ページの上部に戻ってしまい、下方にスクロールしないと確認画面や完了画面が閲覧できない状況になってしまいます。 そこで、ページの下部にフォームを設置した場合でも、確認画面、完了画面への遷移時にページ上部に戻ることなく、ページ下部(フォーム部分)が表示されるようにするための方法を教えていただきたく存じます。 詳しい方がおられましたら、ご助言を賜りたいです。 どうぞよろしくお願いします。

    • 締切済み
    • PHP
  • ウィンドウを閉じる際のダイアログ

    JavaScriptのwindow.close()を使ってウィンドウを閉じようとすると、「ウィンドウは、表示中のWebページにより閉じられようとしています。このウィンドウを閉じますか?」という確認ダイアログが出てくるのですが、出さないようにするにはどうしたらいいでしょうか?