• ベストアンサー

cgiでフレーム分割した画面を作成したい。

理解不足で質問の意味が分かりにくいかと思いますが、 どうか宜しくお願い致します。 TEST.html という画面に用意したボタン“A”をクリックした時、 aaa.cc というcgiを実行して画面を作成・表示させています。 やりたいことは、下記の通りです。 このaaa.ccで表示している画面を左右にフレーム分割して、 左側のフレームにaaaで作成した画面を、 右側のフレームにbbb.ccというcgiを実行して作成した画面を表示させる。  bbb.ccは、aaa.ccで作成したhtml内のボタン“B”をクリックし  た時、<form action=“bbb”>を実行し作成します。

  • CGI
  • 回答数3
  • ありがとう数6

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

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.2

aaa.cc が frame記述してあるhtmlを吐けば良いだけなんじゃない? http://www.tohoho-web.com/html/frame.htm

mamappi82
質問者

お礼

回答を参考に、 もう少し考えて記述してみたら、フレームは分割できました。 ありがとうございました。 しかし、まだ問題が…。(汗) フレームの中身は表示されませんでした。 下記のように記述してみたのですが、 frameタグの書き方が間違えてるのでしょうか…? cout << "<frameset cols=\"30%,*\">" << endl; cout << "<frame name=\"AAA\" src=\"aaa.cc?name=\"value\">" << endl; : (省略) cout << "<frame name=\"BBB\" src=\"bbb.cc?name=\"value\">" << endl; : (省略) cout << "</frameset>" << endl; もう少し考えてみます…。 再々申し訳ありませんが、助言ありましたらお願いいたします。

mamappi82
質問者

補足

理解不十分ですみません。 もう少し噛み砕いて説明していただけますでしょうか…。 aaa.cc内に、framesetタグとframeタグの記述を追記するのですか?

その他の回答 (2)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.3

> cout << "<frame name=\"AAA\" src=\"aaa.cc?name=\"value\">" << endl; クォティション対応がおかしくない?

mamappi82
質問者

お礼

回答ありがとうございました。 今、行き詰ってしまって、新たな質問を上げました。 またよろしくお願いします。

mamappi82
質問者

補足

助言ありがとうございます。 確かに、nameが2つあるのもおかしいですし…、 いろいろと修正している時に、 このまま残してしまっていたようなので、 とりあえず、“?”以降を削除してみました。 cout << "<frame name=\"AAA\" src=\"aaa.cc\">" << endl; が、それだけでは上手くいかず…。 今ひとつ、HTMLの記述内容を正しく理解できていないのが てこずっている原因でしょう…。 もう少し、調べたり考えたりしてやってみます。 また助言がありましたら、どうぞ宜しくお願いいたします。

  • atom_seed
  • ベストアンサー率48% (25/52)
回答No.1

やりたいことはわからなくもないですが、どの部分が疑問で、質問するにいたったのかが分かりませんでした。 ・こうしたらこうなった ・こうなるはずが、こうなっってしまう ・●●の部分の書き方が分からない ・●●ができる方法を探している などの文法で説明を補足していただければ回答しやすいですね。

mamappi82
質問者

補足

すみません。(また分かりにくいかもしれませんが・・・) (1)TEST.htmlのAボタンをクリックすると   aaa.ccというcgiを実行し結果として、   ファイルの一覧を表示します。 (2)そのファイル一覧に作成されたボタンをクリックすると、   bbb.ccというcgiを実行し、結果として見たいファイルの中身を   表示します。 この、(1)と(2)を同じ画面に表示させたいのです。 画面左側に(1)を目次のように表示させておいて、 画面右側に(2)を表示させる、 という感じで エクスプローラのような表示をしたいのです。   今は、TEST.htmlでaaa.ccを実行して作成された画面上に  作成されたボタンをクリックすることで更にbbb.ccを実行し、  画面が次々と書き換えられていきます。   本当は、フレーム分割のように表示させて  aaaで作成した結果を画面の左側に残したまま、  右側にbbbの結果を表示させたいのですが、  その方法が分かりません。 単にhtmlで作成するのであれば、分割表示させるファイル(例えば、X.html,Y.html)をあらかじめ用意しておいて、表示元画面(例えば、Z.html)でframesetタグとframeタグを記述してそこにX.htmlとY.htmlを指定してやれば良いと思うのですが、 自分がやろうとしているのは、分割表示させるファイルが(aaa.ccで作成した画面,bbb.ccで作成した画面)で、表示元画面が(aaa.ccで作成した画面)なのです。 (また意味不明だったら、本当にすみません。)

関連するQ&A

  • cgiで表示したフレームに結果を表示したい

    cgiで作成した画面でフレームを左右に分割したのですが、 内容が表示できません。 cgiで作成したフレーム分割した画面に 結果を表示させる方法を教えてください。 (cgiの記述の仕方が間違えているのか?  htmlの<frameset>、<frame>タグの設定の仕方が悪いのか?  そもそも全体の流れの考え方が間違えているのか?  分からず、行き詰ってしまっています…。) どうか宜しくお願いいたします。 ■作成したファイルは下記のような仕様です。 TEST.html :ボタン操作で、AAA.ccを実行する。 AAA.cc   :作成した画面上のリンクをクリックすることでBBB.ccを実行する。         画面は左右にフレーム分割し、         左側フレームにAAA自身の実行結果として取得したファイルのリストを         右側フレームにファイルリストでリンクした画面を表示させる。 BBB.cc  :AAAから指定されたリンクを加工して開く。 ■ファイルの内容は下記のような感じです…。 >>>TEST.html <form action="**パス**/AAA"> <input type="hidden" name="path" value="**AAAに渡すデータ**"> <input type="submit" value="リスト"> </form> >>>AAA.cc cout << "<frameset cols=\"30%,*\">" << endl; cout << "<frame src=\"**パス**/\" name=\"listA\">" << endl;  :(省略) cout << "<a href=\"**パス**/BBB?path=" << BBBに渡すデータ << "\" target=\"ContensB\" >" << endl;  :(省略) cout << "<frame src=\"**パス**/\" name=\"ContentsB\">" << endl; cout << "<html>" << endl; cout << "<head>" << endl; cout << "<title>Contents</title>" << endl; cout << "</head>" << endl; cout << "<body>" << endl; cout << "</body>" << endl; cout << "</html>" << endl; cout << "</frameset\">" >>>BBB.cc  :(省略) cout << getContents() << "<br>" << endl;  :(省略) どうか宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • htmlにcgiを組み込んで、HPを作成しましたが、スクロールの位置を

    htmlにcgiを組み込んで、HPを作成しましたが、スクロールの位置を上部に移動したいです。 aaa.htmlの中身: <iframe src="bbb.cgi" height="800" width="480" frameborder="0" marginheight="0" marginwidth="0" scrolling="no"></iframe> bbb.cgiは、formで質問を投げて、その答えをまた、bbb.cgiに結果を表示します。 でも、質問の画面でスクロールが一番最後に位置した場合、結果表示の画面もスクロールが一番最後になってしまい、ユーザがスクロールをまた上に移動しないと結果が見えないです。 結果表示の画面では、スクロールを一番上部にしたいですが、aaa.htmlとbbb.cgiのbody tagにwindow.scrollTo(0,0)にしても、質問画面のスクロールの位置のままです。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • 複数のCGIにデータを渡したい

    現在、2分割のフレームでA.cgi(frame1)とB.cgi(frame2)を表示させています。 <form method=post action="A.cgi" target="frame1"> <input type=submit value="name"> </FORM> でA.cgiにnameが送信された結果がframe1に表示されますが、この1つのボタンクリックで同時にnameをB.cgiにも送信し、結果をframe2に表示させるにはどうしたらいいでしょうか?

    • ベストアンサー
    • CGI
  • cgiにフレームをかけたら動作しなくなりました。

    cgi初心者です。よろしくお願い致します。 cgiが完成したので、それにフレームをかけ、cgiからsendmailへの送信内容を変更したのですが、変更されず前のまんまで送られてきてしまします。 AAA.html(フォーム)→AAA.cgi→BBB.htmlというものに、すべてTOPフレームをかけてフレームセットとしたらそうなりました。 フレームセットにしてからリンク先を何も変更しておりません・・・そのせいでしょうか??? 一体どうしてこんなことになってしまったのでしょうか?またこれを回避する方法があると思うのですが、教えていただければ幸いです。よろしくお願い致します。

    • 締切済み
    • CGI
  • フレーム分割

     フレーム分割がどうしてもできません! 本ページ「AAA.html」 左フレーム用ページ「BBB.html」 右フレーム用ページ「CCC.html」 を作りました。BBB、CCCはそれぞれ単体ではちゃんと表示されます。 AAAの記述は次のとおりです <html> <head> <title>フレームの練習</title> </head> <framest cols="20%,80%"> <frame src="BBB.html" name="ひだり"> <frame src="CCC.html" name="みぎ"> <noframes> <body> </body> </noframes> </frameset> </html> AAA.htmlを開くと、何もない真っ白なページが表示されます。 "BBB.html" "CCC.html"はそれぞれ、ファイル名単体だけでなく ファイルのある場所の指定もしてみたのですがだめでした

  • ビルダーで作成しています。フレーム設定でリンクする方法

    初心者です。 フレームをつくって左側がメニューで右側に情報がはいるようにしています。 メニューのほうのボタンをクリックすると 隣のフレームに画面が表示されるように作成したいのですが、 左側のフレーム内に表示されたり、新しいウインドウができたりしてうまくいきません。 ビルダーを使っている方、どうすればいいのかぜひ教えてください。

  • 同じフォーム内で、押下するボタンによって、飛び先のページ(cgi)を変

    同じフォーム内で、押下するボタンによって、飛び先のページ(cgi)を変えたい。 例えば、 以下のように、同じフォーム内に2つのボタンを用意し、 片方のボタンをクリックすると、現在のページ(aaa.cgi)へ戻り、 もう片方のボタンをクリックすると、別のページ(bbb.cgi)へ飛ぶようにしたい。 なお、何れのボタンもサブミットしたい。 ↓(aaa.cgi)================================= : <form name="frm1" action="???" method="post"> <input name="t1" type="text"> <input name="t2" type="text"> : <input name="b1" type="button" onClick="submit();"> <input name="b2" type="button" onClick="submit();"> : </form> : ↑(aaa.cgi)================================= 良い方法はないでしょうか。 ご存知の方、ご教授ねがいます。 よろしくお願いします。  

    • ベストアンサー
    • Perl
  • CGIのアクション結果をフレームの中に入れるには?

    質問の表現が難しいのですが、 CGIのアクションの結果を、フレームの中の一つとして表示したいのです。 例えば、 http://www.fresheye.co.jp/ の無料メールのように、 ログイン結果をフレーム構成にしたいのです。 そのときに、表示する内容を href=aaa.cgi?id=xxx&password=xxx などと記載すると、リダイレクトで表示は出来るものの、 パスワードなどは丸見えになってしまいますよね? どうしたら、 (1)ソースコードに引数を表示させず (2)フレームの構成で表示させることが出来るのでしょう? 内容が伝わらなければ補足させていただきます。

    • ベストアンサー
    • CGI
  • HPの表紙をフレームで分割するやり方を教えて下さい

    HPビルダーV6でフレームの分割を使って表紙を縦二つに分割して作成しています。 ところが、何度製作してもうまくできません。 分割した左のコーナーにメニューのボタンを並べて右のコーナーに表紙の画像等を飾ってレイアウトしていますが、 左側のコーナーのボタンをクリックすると画面は変わるのですが、分割された狭い範囲しかぺージが表示されません。 上手く表示する方法を詳しく教えていただけませんでしょうか

  • CGIのアクセス制限について

    環境は windowsXPHome SP3 / Apache2.2 / ActivePerl5 / (MySQLを使う予定) です。 htdocs\index.html htdocs\ddd\aaa.cgi htdocs\ddd\bbb.cgi のようなディレクトリ構成で、httpd.confは、htdocs以下を公開する設定になっていて <Directory "D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\ddd"> AddHandler cgi-script .cgi Options +ExecCGI </Directory> を指定しました。 これを自宅サーバーとして公開する場合、外部からはindex.htmlにアクセスできるようにして、 aaa.cgiやbbb.cgiはindex.htmlからリンクやformのactionから呼び出されてからしか実行できない (直接cgiのurlを指定して開けない)ようにするにはどうすればいいでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI

専門家に質問してみよう