電子書籍の厳選無料作品が豊富!

(1) CGI結果をブラウザに表示させ(これを親ウィンドウとします)、
(2) 親ウィンドウのボタン押下で子ウィンドウをjavascriptで開き、
(3) その子ウィンドウのボタン押下で、親ウィンドウで違うCGIを実行させ、自身のウィンドウ(子ウィンドウ)は閉じる。

ということをしたいのですが、(3)の親ウィンドウへ制御を戻してCGIを実行させることが出来ません。この部分を教えて頂きたいです。自身のウィンドウは閉じられます。

子ウィンドウHTMLの抜粋
<html lang=ja>
<head>
<title>スケジュール設定結果</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<script language="JavaScript1.3" type="text/javascript" src="./script/xxx.js"></script>
</head>
<body>
<form name="aaaa" method="post">
<center><input type="button" value="OK" onClick="javascript:xxxxx();"></center>
</form>
</body>
</html>

JavaScriptの抜粋
function xxxxx()
{
self.document.aaaa.target = ; ← この部分に設定するものは?
self.document.aaaa.action = "./foo.cgi";
self.document.aaaa.submit();

window.self.close();

return;
}

ちなみに、「target」の部分に、window.openerとしても、親ウィンドウは何も変化なく、別ウィンドウが開いてしまいました。
親ウィンドウには特にwindow名称をつけていません。ブラウザ起動時の状態です。

A 回答 (1件)

こんな手順ならできそうです…かな。


・親ウィンドウ側にもフォームを置く。(display:noneとでもしておいて表示上は隠す)
・子ウィンドウのjavascriptで親ウインドウのフォームに
子ウィンドウのフォーム内容をコピーし、親ウィンドウのフォームをsubmit。
・子ウインンドウを閉じる。

この回答への補足

なるほど。今はself.document…としているので、
自身にsubmitしてしまっているのですね。
それを親ウィンドウの隠しフォームにすれば良いということですね。
やってみます。

補足日時:2007/05/24 16:30
    • good
    • 0
この回答へのお礼

上記の通りでうまくいきました。ありがとうございます。

お礼日時:2007/05/24 17:09

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