• ベストアンサー

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

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

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

  • ベストアンサー
  • 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