• ベストアンサー

クイズの答えを、ページに「後追い」「ノン・リロード」で表示することはできますか?

こんにちは。次のことをやりたいと思っています。 「 」内が重要な条件です。 ---------------------------------------- Webページに、問題文と5択の解答例がある。 いずれかを選択し、OKボタンなりを押すと 「同じページ内に」解答・解説が「追加される」。 その際「ページ全体のリロードは行われない」。 ---------------------------------------- JavaScriptは使いません。 CGIは設置可能のサーバですがSSIは使えません。 ◆質問◆ Perlは、ぼちぼち参考書を読み始めているレベルですが、 Perlでもリロードが必要になってくるような気がします。 Perlで上記のことは実現可能でしょうか? 可能な場合は、どんな仕組みを考え、どのあたりを 集中的に勉強すればいいかご助言お願いいたします。 擬似的な方法でもかまいません。 なお、絶対にリロードが必要な場合、 その旨のご指摘でもありがたいです。 その際は方針を再検討します。

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

  • ベストアンサー
  • yoneda_16
  • ベストアンサー率47% (166/350)
回答No.1

最近ちまたではやっているAjaxな手法を使えば簡単にできるんですが、JavaScriptが必要になるので条件に合いませんね。 フレームを使えば、ページの中の一部分だけをリロードしたように見せかけることはできます。が、これもご希望のイメージに合わない気がします。 サーバサイドで動くものと簡単なJavaScriptをあわせると、かなりいろんな事ができるようになりますので、そこまで踏み込んで学習されることをお勧めします。

JumpingQueen
質問者

補足

ご回答ありがとうございました。 HTMLだけでやってきた人間で用語が分からず 検索してみました。 http://e-words.jp/w/Ajax.html そうです、こういうことがしたいのですが こういう技術がわざわざあるってことは JavaScript以外ではリロードをのまなければ いけないということになりそうですね。 >フレームを使えば、ページの中の一部分だけをリロードしたように >見せかけることはできます 「見せかける」とは、そう見えるだけで 実際は全ページのリロードが必要だということ なのでしょうか? このあたりのことを解説しているページを ご存じならば、ご紹介していただけるとうれしいです。 検索すべき単語自体が分からず、うまく情報にたどりつけません。

その他の回答 (1)

回答No.2

iframeを利用すればページ全体のリロードを行わず、結果のみを希望する箇所に表示できます。 その場合、iframeにnameを指定し、クイズのフォームにもtargetで指定してやる必要があります。 (例) <form action="http://www.xxx.com/yyy.cgi" target="answer" method="post"></form> <iframe name="answer" width="100%" height="100%" frameborder=0></iframe>

参考URL:
http://www.htmq.com/html/iframe.shtml
JumpingQueen
質問者

お礼

ご回答ありがとうございました。 ああ、機能・イメージ的にはこれで十分です。 1番さんがおっしゃってるフレームうんぬんは これのことなのでしょうか。 ただ問題は、私は「XHTML1.0-Strict」で作っていて 「iframe」タグも「target」属性も使えないってことです。 そうかぁ… 調べてみると、4.0Transitionalにまで 落とせば何とかなるってことのようですね。 いま、perlでHTMLを生成してリロードさせる方法は 参考書を見ながらできつつあるのですが、 これだったら素直にリンクで別ページに飛ばすべきですね。 Transitional変更への検討も含め、 もう少し試行錯誤したいと思います。 参考になりました。ありがとう。 1~2日開けたあと、締め切ります。

関連するQ&A

専門家に質問してみよう