重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

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

CGI1年生です。
ソフトバンク刊の「Perlで作るCGI入門(応用編)」で勉強を始めたばかりです。
その中の「アンケート(enq.cgi)」を参照しているのですが、「回答ありがとう画面」を表示する前に、ユーザーがアンケートに回答した項目をユーザー自身が確認し必要があれば修正可能なように画面(ページ)を付加したいと考えています。
よい方法があれば教えてください。
全く別の方法でもかまいません。お願いします。

A 回答 (3件)

すみません、急いでいたもので(^^;



ふと考えたのですが、
もしページとして表示するのではなく、ダイアログでよければ、JavaScriptで十分イケる問題なんですね。
そうすると、コードを書く手間がはぶけるかなあ、なんて(^^;;

やり方は
1.送信ボタンを押したときにJavaScriptのダイアログ表示メソッドを使用して、表示。値は簡単にとれます。
2.ダイアログはボタンが2つ用意されているもの(OKとCancelね)を使用し、OKならCGIに送信、Cancelなら何もせずにダイアログを消去。
というところですが、いかがでしょう?
分からなかったらまた聞いてみてください。

注意:JavaScriptは環境によってはかなり不安定になります。頑丈なシステムを作りたいのであればお奨めしません。
    • good
    • 0

tada_bitoさん、逃げるなんてずるい~♪



やり方はtada_bitoさんの通り、確認FORMもcgiが吐き出せば良いだけです。一番安直な方法はページのソースをスクリプトの中にprint文で埋め込んでしまうのが一番頭を使わないでしょう。
私がよくやるのは確認画面のhtmlを作っておき、cgiがそれを読み込んで例えばhtmlの中に<!-- ans1 -->みたいに引き渡しパラメーターを入れる部分を記述しておき、cgiの中で前のページから受け取ったパラメーターをその部分に吐き出すようにしています。
デザインの変更が楽なんでこれやってますけど、鬼のようなアクセスのあるページだと厳しいですね。(爆)
    • good
    • 0

まずはやり方だけ…。



アンケートを送るフォーム画面をもcgiにしてしまいます。
確認画面は送られてきたパラメータを、print文でそのまま表示させる形にし、okだったらそのパラメータを送信、noだったらフォーム画面にパラメータを送り返してやればいいのですね。

具体的なコードについては、識者の方、よろしくお願いします。(逃
    • good
    • 0

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