下記のようなフレーム構造のページがあります。

<frameset>
<frame src=”top.html” name=”top”>
<frameset>
<frame src=”main.html” name=”main”>
<frame src=”right.html” name=”right”>
</frameset>
</frameset>
ここで、main.htmlより別WINDOW child(名前) を開きます。
で、childからrightへPOSTしたいです。

target=window.opener.parent.right
action=right.html
としてPOSTしてみました。

right.htmlとしてはデータを受け取れますが、
どうしてももとのWINDOW(right)へPOSTできません。(別WINDOWが開いてしまう)
各WINDOWはPOSTする前の状態で、余計なWINDOWが開くのもNGです。
実現する方法を教えてください。
(opener.parent.right.location.hrefなどURLで引数を渡すなどは理由があってNGです)

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:Mars No.1

回答回数203ベストアンサー獲得回数20

ポイント100pt

URLはダミーです。

単純に

<form action=”right.html” target=”right”>

だけで大丈夫です。

targetで指定したnameのフレーム/ウィンドウがあればそこにpostされますので。


別ウィンドウが開いてしまったのは

”window.opener.parent.right”というnameのフレーム/ウィンドウがないためです。

id:sight No.2

回答回数69ベストアンサー獲得回数1

ポイント80pt

http://www.hatena.ne.jp/1112114328

人力検索はてな - 下記のようなフレーム構造のページがあります。 <frameset> <frame src=”top.html” name=”top”> <frameset> <frame src=”main.html” name=”main”> <frame src=”ri..

targetの設定をJavaScriptで行っているとして、

・[form].target=”window.opener.parent.right”としている場合

→ターゲットウィンドウに「window.opener.parent.right」という名前のウィンドウが設定されてしまう為、別ウィンドウになってしまう。


・[form].target=window.opener.parent.rightとしている場合

→ターゲットウィンドウの名前として、「window.opener.parent.right」ウィンドウのオブジェクトそのものが設定されてしまう為、別ウィンドウになってしまう。


ですので、解決方法として

[form].target=window.opener.parent.right.name

として、ターゲットウィンドウの名前にはきちんと使いたいウィンドウの名前を渡してあげてください。

id:masashi0316

Marsさんずばりでした、sightさん、勉強になりました。ありがとうございます〜

2005/03/30 10:20:26

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません