<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はダミーです。
単純に
<form action=”right.html” target=”right”>
だけで大丈夫です。
targetで指定したnameのフレーム/ウィンドウがあればそこにpostされますので。
別ウィンドウが開いてしまったのは
”window.opener.parent.right”というnameのフレーム/ウィンドウがないためです。
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
として、ターゲットウィンドウの名前にはきちんと使いたいウィンドウの名前を渡してあげてください。
Marsさんずばりでした、sightさん、勉強になりました。ありがとうございます〜