• 締切済み

CGIだとうまくいかない!

まずは下記ソースをご覧ください。 これを実行させると上下2のフレームができまして、上フレームにある「Jump C」と いうリンクをクリックすると、下フレームが「ccccccccc」というところまでジャンプ するように作りました。 まずは実験版としてCGIでなくPC上でHTMLファイルを作成(main.cgiがmain.htmになる) しました。その時はうまく下フレームの「cccccccc」までジャンプしたのですが、これを CGIに作り直して実行させたところ、何も動作しないままでした。 CGIでもHTML上同様の動きをさせるにはどのようにしたらよろしいでしょうか? どなたかご存知の方いましたら、ご鞭撻のほどお願い致します。 -------------- main.cgi ------------------------------------- <HTML> <HEAD><TITLE>フレームテスト</TITLE></HEAD> <FRAMESET ROWS="20%,*"> <FRAME SRC="top.cgi" NAME="FRAME2"> <FRAME SRC="btm.cgi" NAME="FRAME3"> </FRAMESET> </HTML> -------------- top.cgi ------------------------------------- <HTML> <head> </head> <body> <a href="right_btm.cgi#c" target="FRAME3">Jump C</a> </body> </html> -------------- btm.cgi ------------------------------------- <HTML> <head> </head> <body> <A NAME="#a">aaaaaaaaa<br><br><br><br><br><br><br><br><br> <A NAME="#b">bbbbbbbbb<br><br><br><br><br><br><br><br><br> <A NAME="#c">ccccccccc<br><br><br><br><br><br><br><br><br> <A NAME="#d">ddddddddddd<br><br><br><br><br><br><br><br><br> </body> </html> ------------------------------------------------------------ このCGIを実行すると、

みんなの回答

  • the845s
  • ベストアンサー率34% (61/176)
回答No.3

top.cgiでのリンクが btm.cgiではなく、right_btm.cgiになっているからではないのですか?

yo-he
質問者

補足

早速のアドバイスありがとうございます。 タイプミスで「right_btm.cgi」ではなく「btm.cgi」ミスでした。 重ね重ねミスがあり、大変ご迷惑をおかけして大変申し訳ありません。 宜しくお願い致します。

すると、全ての回答が全文表示されます。
  • elthy
  • ベストアンサー率24% (124/500)
回答No.2

投稿してすぐに思い出しました。 #は「そこからコメントアウト」の記号なので、 そこから後ろが表示されないかも。 perlで出力させるときはついでに print "<a href=\"right_btm.cgi\#c\" target=\"FRAME3\">" のように前にエスケープマークの\をつけてみるのはいかがでしょうか。

yo-he
質問者

補足

早速のアドバイスありがとうございます。 ご指摘の点ですが、ここのHTMLの箇所は print << STD_OUT <HTML> <HEAD> (以下省略・・・・・) STD_OUT のように記述を行いましたので、CGIを起動後 HTMLソースを確認しても#は正常についているようでした。 説明不足があって大変申し訳ありません。 お手数ですが宜しくお願い致します。

すると、全ての回答が全文表示されます。
  • elthy
  • ベストアンサー率24% (124/500)
回答No.1

<A NAME="#a">がおかしいと私は思います。 このタグの対応は <A NAME="名前">に対して、 <a href="ファイル名#名前">が正しいので、 <A NAME="a">とすべきところのはず。 HTMLで書いたときはその辺がいい加減に解釈されて無視されてても、 CGIでは#によって処理(ちょっと度忘れしましたが)されてるかもしれません。 一応実行したときのソースを確かめて表示が正しいことも確認しながら、 そこを直してみてください。

yo-he
質問者

補足

早速のアドバイスありがとうございます。 指摘点を頂いた後、私の方でもおかしいことに気づき<a name=~>の 箇所で#を取り除きやってみたのですが、残念ながらそれでも問題点は解決されないようでした。 また何かお気づきの点ありましたら、宜しくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A