• ベストアンサー

window.Openをモーダルにできますか?

こんにちは。 表題のように、Window.Openをモーダルにしたいのです。 親フォームからサブフォームを開き、 そこでクリックで選択された値を親フォームに展開させる という処理をしたいのです。 ShowModalDialogだと、そのサブフォームで入力された値を親フォームに表示することができないのではないか・・・と思っています。 どなたかいい方法をご存知の方、 どうか教えてください。 よろしくお願いします。

noname#4065
noname#4065

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

> ShowModalDialogだと、そのサブフォームで入力された値を親フォームに表示することができないのではないか IE依存でかまわない、ということですね。 showModalDialog() は、表示したダイアログから、戻り値を返すことができます。 ダイアログの方では、window.returnValue という window オブジェクトの プロパティがあるので、これに値を設定します。 親の方では、 ret = showModalDialog(…); として、その値を受け取ります。 複数の数値のやり取りがあるのであれば、その window.returnValue に設定 するものを Object や Array にすれば良いですね。 因みに表題の > Window.Openをモーダルにしたい はやめておいた方が良いです。 あるウィンドウを常に一番上に表示することは可能ですが、そのウィンドウが 複数あると破綻します。 モーダルなウィンドウが、動作として必要なのであれば、新しくウィンドウを 開くのではなく、切り替えるようにインターフェースを考え直すべきだと 思います。 # もしくは applet を作るか

noname#4065
質問者

お礼

a-kuma殿。 ありがとうございます! 教えていただいたとおりやったら、 バッチリでした。 複数の値を返したいので、配列を使います!! 助かりました。ありがとうございました。 また何かありましたら、よろしくお願いします。

その他の回答 (1)

  • xruz
  • ベストアンサー率50% (72/143)
回答No.2

私はサブウィンドウ自身がblurになった時Focusするようにしてます。 値の移送はopener.***.valueでやってます。

noname#4065
質問者

お礼

xruz殿。 ありがとうございました。 その方法でやっていたのですが、 私の場合はうまくいきませんでした。 たぶん、どっかおかしかったのですね・・・。

関連するQ&A

  • window.openの件について

    いつもお世話になります。 開発で困っているわけでもないのですが、1つ質問をさせてください。 OS:WinXP、IE:6.0、javascriptの環境でwindow.openを使用した時、window.showModalDialogみたいに子画面を閉じない限り、親画面の制御を不可にすることはできるのでしょうか?

  • window.openで値の渡し方を教えてください。

    画像をクリックするとwindow.htmlで新しいウインドウが開き、「IMG/AAA.jpeg」という値をwindow.htmlに渡して、画像を表示したいのですが、どのようにすればよいでしょうか。 画像をクリック(photoOpnに値が渡される)→関数photoOpn実行(window.htmlに値が渡される)→window.html表示(値を受け取り画像を表示)といった具合にしたいのですが・・・。 <html> <head> <script type="text/javascript"><!-- photoOpn(value){ window.open("window.html"); } //--></script> </head> <body> <a href="javascript:photoOpn('IMG/AAA.jpeg')"><img src="IMG/AAA.jpeg"></a> </body> ここまではやってみたのですが、window.htmlにどのように値を渡せばいいのでしょうか。

  • 親ウィンドウのフォームの値を変更

    showModalDialogでオープンした子画面から、returnValueで値を返すのとは違う方法で、親ウィンドウのフォームの値を変更したいと思っています。 (その子画面をオープンすると同時に、親ウィンドウのフォーム値を変更したいため) その際に    window.opener.document.formA.hiddenA.value = "aaa" という風に記述しているのですが、「window.opener.documentはオブジェクトではありません」というエラーになってしまいます。window.openで開いた子画面からだと、この方法でできたと思うのですが・・・どうすれば変更できるでしょうか?そもそも、showModalDialogでオープンした画面から親ウィンドウの値を変更すること自体がダメなのでしょうか? よろしくお願いします。

  • window.openで

    HTML(親画面)からJavaScriptのwindow.openで400×300の別ウインドウを表示させた後、一旦親画面に戻し、新たな別ウインドウを表示させたいのですが、 1.その新たな別ウインドウにはなっているのですが、表に出てきません。 2.新たな別ウインドウを違うサイズで設定(例えば600×400)したものを表示させたいのに、400×300のウインドウサイズのままです。 以上2点の処理がわかりません。教えてください。お願いします。

  • window.open とtarget属性について

    お疲れ様です。 いつもお世話になっています。 以前 http://okwave.jp/qa4125614.html で質問させていただいた件に関することなのですが、 現状のソース function chk(){ var k=0; var i; for(i=0;i<6;i++){ if(document.form1.elements[i].value ==''){ k++; } } if(k == 0 || k==3 || k==6){ window.open('','nWin','width=640,height=320'); }else{ alert('エラーですよ'); } } ---------- <form onsubmit="chk();" name="form1" target="nWin" action="xxx.php" method="post"> <input type="text">が6こ <input type="submit"> </form> で、今フォームの中のnullの数によって、window.openを実行させるかさせないかの実装をしています。 正常フローでwindow.openは発動するのですが、target属性がformに入っているおかげで、エラーでもwindowが新しく開いてしまいます。 targetを消せば、エラーの際はwindowは開きませんが、正常フローの際、windowは開きますが、値がわたりません(親windowに表示されてしまう) あちらをたてればこちらがたたず状態です。 正常フローのときは 子windowが開く 子windowに値がわたり、子windowに表示される エラーのときは 子windowは開かない 親windowにエラーメッセージを表示させる(とりあえずalertでよい) という切り替えをうまくするにはtarget属性をなんとかする以外ないと思うのですが、どうすればうまくいくのか頭を抱えている状態です。 恐れ入りますが、よい案があれば教えていただきたいです。 よろしくお願いします。

  • window.open()使用サブウィンドウをモーダルにする方法

    struts + jspで開発を行っています。 window.open()を使用してサブウィンドウを表示する際にサブウィンドウをモーダル化したいと思っていますがうまくいきません。どうすればモーダル化出来るでしょうか?以下のパターンはなしとさせてください。 1.showModalDialogの使用  理由)submitを行った際に新規にウィンドウが開くため 2.onblurの使用

  • window.openについて

    以下のJavaScriptで、サイトを表示しようとしています。ポップアップで「はい」を選べば、表示されますが、セキュリティ警告の「いいえ」をクリックした際に、新しいウィンドウを表示させないようにしたいのですが、方法が分かりません。解かる方、回答をお願いします。ちなみに、httpsからhttpへの移行です。 function siteopen(url) { if (!confirm("選択したサイトを表示します。よろしいですか?")) { return; } win = window.open(url); } <a href="#" onclick="siteopen('{$url}');">

  • window openについて

    こんにちは、例えば以下のようなスクリプトがあったとします。 <html> <form name = serchform> <input type=text name=id><br> <input type=submit value=ID検索 onclick="openwin()"> <a href="javascript:open(1);"><Img Src="1.bmp"></a><br> <a href="javascript:open(2);"><Img Src="2.bmp"></a><br> <script type="text/javascript"><!-- function openwin() { a = document.serchform.id.value; url = "http://10.8.2.166/test/syuhou_kensaku.php?id="+a; mywin = window.open(url,"","width=1120,height=500"); } function open(select) { if(aa == 1){ alert("Test") url2="http://10.8.2.166/test/kensaku.php?msg="+Testです; mywin2 = window.open(url2,"",""); } } //--></script> このソースを実行すると、ID検索ボタンをクリックしても何も反応せず 1.bmpをクリックすると、Testとメッセージが表示され、画面左下に 警告マークが表示され、何も反応しません。 しかし、function open(select)を削除し、ID検索ボタンをクリック すると命令した処理を実行してくれます。 function openwin()を削除したらその逆も起きるのかと考えやって みたのですが、これについては上記と同じエラーでした。 なぜこのようになるのか原因が分かりません。 どなたかご存知の方がいらっしゃいましたら、アドバイスよろしく お願い致します。

  • window.openのターゲットについて

    ウィンドウをjavascriptで開く際に、 window.open("URL","_top")のように ターゲットを指定できると思うのですが、 今一どこを指定しているのかわかりません。 ページA(フレームで分けられている)からwindow.openでページBを開いた場合、ターゲットに_top,_selfなどと指定した場合はページAのフレームのことを指しているのでしょうか? また今、ページA(フレームで分けられている)でURLをクリックするとファイルをダウンロードするプログラムを作成しているのですが、window.openのターゲットに_topを指定すると新しいウィンドウが表示されないのに、_self,_blankなどを指定するとウィンドウが表示され、ダウンロードが終わっても表示されたままになってしまいます。どうしてこのような違いが起きるのかお分かりになる方がみえましたら教えてください。 よろしくお願いいたします。

  • IE7でのwindow.close後のwindow.openについて

    javascriptで、ボタンクリックでウィンドウを開くときに、同じ名前のウィンドウが既に開いていたら一回閉じで、開き直すというロジックを書いてます。 これはIE6では正常に動いているのですが、IE7になると、ウィンドウが閉じたまま、開き直さないで何も表示されなくなってしまいます。たまに開くときもあるのですが。 ボタンクリック後のコードを載せます。 ちゃんと開く方法はないでしょうか? function openwindow(){ var newWindow = window.open("test.html", "test"); if(newWindow.name == "test") { newWindow.close(); } oneScdWindow=window.open("test.html", "test"); }