最新閲覧日:

はじめまして。leaz024と申します。

仕事で次のようなものHTMLを作成することになりました。
・CGIで表示したページ内のボタンで、小窓(入力フォーム)を開く。
・小窓で送信ボタンを押すと、小窓は閉じる。
・送信された内容がサーバで処理された後、親窓を自動的に更新して、内容を反映させる。

CGIはPerlで作成しており、HTMLにはJavaScriptを使ってもよいことになっています。
このような動作をさせたいのですが、やり方が分かりません。
どなたか教えてください。
お願いします。

A 回答 (2件)

文章を書くのは苦手なのでサンプルを挙げておきます。


1.親ウインドウ(sample01.html)に名前がなかったらユニークに
なるように名前を付ける。
2.リンククリックで子ウインドウを表示
3.子ウインドウのリンクをクリックしたら親ウインドウにtargetを指定して
サーバーにパラメータをPOSTする(サンプルではgooが表示されます)
こんな感じでしょうか?

----- sample01.html ここから -------
<html>
<head>
<script>
alert('このwindowの名前\n'+window.top.name)
if(window.top.name==""){
myDate = new Date()
nowH = myDate.getHours()
nowM = myDate.getMinutes()
nowS = myDate.getMilliseconds()
winname = nowH+":"+nowM+":"+nowS
window.top.name=winname
alert('このwindowに名前をつけました')
}
function test(winname, html){
win = window.open(html,winname);
}
</script>
</head>
<body>
<a href="javascript:test('hoge','sample02.html')">hogeウインドウopen</a>
</body>
----------- ここまで -------------------

---------- sample02.html ----------
<html>
<head>
<script>
winname=window.opener.top.name

function link(){
document.aaa.target = winname
document.aaa.submit()
window.close()
}
</script>
</head>
<body>
<a href="javascript:link()">親ウインドウにgoo表示</a>
<form name="aaa" method="post" action="http://www.goo.ne.jp" target="">
</form>
</body>
------------------ ここまで -------------------
    • good
    • 1
この回答へのお礼

なるほど!親の方にムリヤリ名前を付けといて、子の送信先を親にするんですね。
これでうまくいきました!!
ありがとうございました。

お礼日時:2001/04/10 23:08

CGIが使えないから、簡易的だけど、こういうことをしたいのかな?(→参考URL)



q61780.html (子ウィンドウを開く)
q61780-child.html (送信画面)
q61780-child2.html (送信後の画面であり、親ウィンドウを更新する)
q61780-second.html (何もしていない)

飾ったとこをしていないので、ソースを見たら簡単にわかると思います。

参考URL:http://users.goo.ne.jp/happy_people/
    • good
    • 0

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

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報

カテゴリ