• ベストアンサー

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

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

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

過去ログよんでますか?近しい内容がヒット しますよ。 具体的にはshowModalDialogの第二引数で自分自身を 渡してやると、子供はdialogArgumentsで受けられます。 こんな感じです。 //parent.htm <form name="formA"> <input type="button" value="開く" onClick="showModalDialog('child.htm',window,'dialogWidth=320px; dialogHeight=240px;');"><br> <input type="text" name="hiddenA"> </form> //child.htm <input type="button" value="親にaaaと書く" onClick="window.dialogArguments.formA.hiddenA.value='aaa'">

sky_blue
質問者

お礼

申し訳ありません。一応検索はしてみたのですが・・・ window.dialogArgumentsでできました。 とても助かりました。本当にありがとうございました!

その他の回答 (2)

回答No.2

#1です。 すみません、勘違いでした^^;

回答No.1

sky_blueさん、こんにちは。 > window.opener.document.formA.hiddenA.value = "aaa" window.opener.formA.hiddenA.value = "aaa" ではどうでしょうか。

sky_blue
質問者

お礼

お返事ありがとうございます。 それも試してみたのですが・・・ ありがとうございました!