みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

親ウィンドウに制御を戻しcgiを実行させるには?

(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名称をつけていません。ブラウザ起動時の状態です。

投稿日時 - 2007-05-24 13:16:28

QNo.3026353

困ってます

質問者が選んだベストアンサー

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

投稿日時 - 2007-05-24 14:07:04

補足

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

投稿日時 - 2007-05-24 16:30:01

お礼

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

投稿日時 - 2007-05-24 17:09:12

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問