人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

下記のようなフレーム構造のページがあります。
<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です)

●質問者: masashi0316
●カテゴリ:コンピュータ
✍キーワード:href HTML URL データ フレーム
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mars
●100ポイント

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

はてな

URLはダミーです。

単純に

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

だけで大丈夫です。

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


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

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


2 ● sight
●80ポイント

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さん、勉強になりました。ありがとうございます〜

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ