• ベストアンサー

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

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

  • CGI
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • 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

  • 呼び出されたページを閉じ、呼び出し元をリロードしたい。

    教えて下さい。 asp(htmlを生成)とjavascriptを利用して下記事項の実現は可能でしょうか? 呼び出し元ページからウィンドウをwindow.openで開く window.openで開かれたページに閉じるボタンを設置 そのボタンを押すと、window.openで開かれたページを閉じ、 呼び出し元ページのiframe内のコンテンツをリロードする。 参考になるサイト・ヒントなんでも結構ですので、 どうかご教授お願いします。

  • JavaScriptでページを一度だけリロード

    とあるページにアクセスした際、JavaScript(jQuery)を使って一度だけページをリロードしたいと思っております。 <script language="JavaScript"><!-- function reload() { if (window.name != "test") { location.reload(); window.name = "test"; } } // --></script> 上記のような記述で試みたのですが、リロードしてくれません。 他に対応できる方法がございましたら、ご教授いただけますと幸いです。 以上、よろしくお願い致します。

  • ページの一部だけリロード

    こんばんわ。WEBページの作成技法について、質問をお願いします。 あるPHPファイル(仮にA)、内部で別のPHP(仮にB)ファイルを読み込んでいます。(require-once) また、A内にはjavascriptが仕込んであります。 で本題ですが、AのJS処理後、B部分だけをリロードさせたいのですが、どのようにすれば 実現できるでしょうか? アドバイス宜しくお願いします

    • ベストアンサー
    • AJAX
  • SSIのようにして、CGIをページ内に表示させる

     通常のHTMLページにCGIを読み込むにはSSIなどの方法がありますが、  SSIを使っているページは左、中央、右といったように分かれていて、呼び出した日記を中央に表示させるとします。これだとトップページはSSIで問題なく表示出来ますが、その表示された日記にあるリンク(先月の日記、とか)をクリックして先月のページを表示させると、SSIの仕組みからして当然、最初に読み込んだ際のレイアウトは無視され、左、右のカラムは消えて、ただの日記だけのページになってしまいます。  iframeなど、別の表示方法もありますが、iframeなどのフレームはSEOの観点から避けたいと思っています。  SSIでは無理だとすると、このようなリンク先まで最初の読み込みレイアウトを維持して表示する方法はあるでしょうか。

    • ベストアンサー
    • HTML
  • ブラウザの「戻る」ページ遷移でリロード

    既に同種の質問がありましたが、解決されなかったようなので質問させて下さい http://okwave.jp/qa/q6381146.html ページ内に埋め込んだURL(iframeで埋め込み)の参照先が時系列で変化する為、ページ遷移等をして戻った場合にはリロードさせたいのですが、過去の質問のようにIEであれば <script type="text/javascript"> <!-- window.onunload = function(){location.reload();} --> </script> で難なくクリア出来たのですが、他ブラウザ(Firefox・Safai・Google Chrome)ではリロードされません。 公に公表されるページなので、せめて上記の3ブラウザではブラウザの「戻る」「進む」でのページ遷移時にリロードさせたいと考えています。 ちなみに、iframeに特別拘りは無いので「他の方法で埋め込めば・・・」等ありましたらお教え頂けたら幸いです。 宜しくお願い致します。

  • 自動リロード機能

    某チャットCGIを利用しています。 そのチャットには現在入室者をSSIで別ページに表示する機能があります。 しかし、この機能だけでは、画面をリロードしないと最新情報になってくれません。 これをどうにかして常に最新情報を表示したいです。 「JavaScript 自動 リロード」で検索すると、ページ全体のリロードと言うの見つかりましたが、一部と言うのが発見できませんでした。 方法があれば教えてください。

  • 【JS】(同ページの)iframe内に別頁を表示

    JavaScriptに関する質問です。iframe内に、別のページを表示したいのですが、この際JavaScriptではどのような指示で実現できるのか教えていただけませんか。 よろしくお願いします。

  • AJAXでのリロードに関して

    AJAXでのリロードに関して 教えて下さい。 あるページを一定の時間でリロードしたいと考えています。 その際に、javascript を使用すれば、以下のような記述で何分か単位で 自動リロードが可能ですが、それをAJAXにて実現するにはどのように記述 すれば良いでしょうか??? ***** javascript の場合 <TITLE>ページをリロードする方法</TITLE> <SCRIPT TYPE="text/javascript"> <!-- var timer = "300000"; //指定ミリ秒単位 function ReloadAddr(){ window.location.reload(); //ページをリロード } setTimeout(ReloadAddr, timer); //--> </SCRIPT> よろしくお願いします。

    • ベストアンサー
    • AJAX
  • リンク先のページを開く際に、案内のページを表示させるには

    ページ内から、別サイトへリンクを飛ばす際に、別サイトのページを開きますと言う、案内のページを表示させたいと思います。 このような仕掛けは、CGI で可能でしょうか。 イメージは 2ch のリンクです。 もし、可能で有れば配布して下さっているサイト等をご紹介して頂けないでしょうか。 2ch 等の場合は、web サーバ側で対処しているように思います。 基本的には、レンタルサーバ上での運用を考えており、web サーバのカスタマイズは出来ません。リンク毎に設定が必要になると思いますが、CGI で実現出来ないでしょうか。

    • ベストアンサー
    • CGI
  • perl チャット リロード

    chatpad(http://chatpad.jp/)というサイトを利用してみて思ったのですが、リロードっていつしているのでしょうか?(ブラウザのステータスバーを見る限りは一定の間隔でしかリロードしていなくて、リロードしていない時でも発言は更新される) perlの勉強をしていて、チャットを作ろうと思ったのですが、色々なサイトを調べてみても、「相手が発言したのかどうかを調べるためにはリロードするしかない。」みたいに書いてあったのですが、リロードなしでも相手の発言を取得して随時表示させていくことができるのでしょうか?(できるなら、そのようなプログラムを書きたいです) javascriptとperlだけで実現するチャットの場合、どのようなアルゴリズムが一番スマートですか?詳しく教えてください。お願いします。

    • ベストアンサー
    • CGI

専門家に質問してみよう