プロが教える店舗&オフィスのセキュリティ対策術

showModalDialogでオープンした子画面から、returnValueで値を返すのとは違う方法で、親ウィンドウのフォームの値を変更したいと思っています。
(その子画面をオープンすると同時に、親ウィンドウのフォーム値を変更したいため)

その際に

   window.opener.document.formA.hiddenA.value = "aaa"

という風に記述しているのですが、「window.opener.documentはオブジェクトではありません」というエラーになってしまいます。window.openで開いた子画面からだと、この方法でできたと思うのですが・・・どうすれば変更できるでしょうか?そもそも、showModalDialogでオープンした画面から親ウィンドウの値を変更すること自体がダメなのでしょうか?

よろしくお願いします。

A 回答 (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'">
    • good
    • 0
この回答へのお礼

申し訳ありません。一応検索はしてみたのですが・・・

window.dialogArgumentsでできました。
とても助かりました。本当にありがとうございました!

お礼日時:2006/03/28 20:39

#1です。



すみません、勘違いでした^^;
    • good
    • 0

sky_blueさん、こんにちは。




> window.opener.document.formA.hiddenA.value = "aaa"

window.opener.formA.hiddenA.value = "aaa"


ではどうでしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/28 20:33

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