アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。
JavaScriptもHTMLもCGIもほとんど初心者です。

現在フリーのCGI(Perl:アンケートフォーム)を使用しようとしてるのですが、HTMLファイルのformにあるactionで
CGIにとばして、その結果を(JavaScriptで開いた?)新しいウィンドウに表示したいのですが、可能でしょうか?

さらに、出来ればその結果が表示される新しいウィンドウにはメニューバーやスクロールバーをなくして、「閉じる」というボタンをつけて閉じるようにしたいのですが、それも可能でしょうか?

何卒よろしくお願いします。

=====

A 回答 (1件)

CGIの処理結果を別ウィンドウで受け取る、その開いた別ウィンドウにメニューバーやスクロールバーを表示させない、という点については、JavaScriptとHTMLで可能と思います。


HTMLファイルのCGIを呼び出すform要素を、下記のようにすれば、一応はご質問文で言われている動作になるのではないかと思います。

<form action="hoge.cgi" target="result_win" onSubmit="window.open('','result_win','menubar=no, scrollbars=no');">

上記ソースでは、そのフォームが送信されたときに、JavaScriptで、result_winと言う名前をもつメニューバーとスクロールバーが非表示の空ウィンドウを開き(「onSubmit="window.open('','result_win','menubar=no, scrollbars=no');"」がその処理を指定している部分になります)、そのウィンドウをターゲットにして(「target="result_win"」がその指定になります)フォーム送信が行われるようになっているはずです。

JavaScriptのwindow.open()の処理についての詳細は、参考URLに詳しいと思いますので、良ければご参照ください。 参考URLは、「とほほのWWW入門」内のページです。

新しいウィンドウに対して、「閉じる」ボタンを追加する点については、CGI自体を書き換える必要があると思います。

参考になれば…

参考URL:http://tohoho.wakusei.ne.jp/js/window.htm#open
    • good
    • 0
この回答へのお礼

コメントありがとうございます!!
form内をアドバイスどおり変えたら、CGIの処理結果が新しいウィンドウで開くようになりました。

lead1976さんの解説も分かりやすく理解することが出来ました。ありがとうございます。

また、閉じるボタンを追加するにはCGIをどのように書き換えたらいいのでしょうか?
ちなみに、CGIファイルの結果を表示する部分の最後尾に
print "<p align=center><a href="javascript:window.close()">閉じる</a>\n";
&foot;  #フッタ表示

と、print部分を加えたらInternal Server Errorになりました。。。
もし、お時間ありましたらご教示いただけますでしょうか?
よろしくお願いします!

お礼日時:2004/07/26 12:00

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