ボタン操作による指定ドキュメントの表示
- ブラウザで表示される画面をフレームで上下に分割し、ボタン操作によって指定ドキュメントを表示させる方法についてお知りになりたいです。
- 上のフレームに配置された「+」「-」のボタンをクリックすることで、下のフレームに表示されているドキュメントを切り替えることができるようにしたいです。
- 表示すべきファイル名はデータベース(mdb)に保存されており、それをどのようにして特定のターゲットに表示することができるか知りたいです。
- ベストアンサー
ボタン操作による指定ドキュメントの表示
はじめまして。 どなた様かお知恵を貸してください。 ブラウザで表示される画面をフレームで「上・下」に分割しています。 上のフレームには「+」「-」の二つのボタンが配されており、下のフレームには初期値として指定されたWORDやEXCELのドキュメントを表示させています。 ここで、上のフレームに配された「+」「-」のボタンをクリックすることにより現在下のフレームに表示されているドキュメントの「以前のもの」「先のもの」を表示させたいと考えておりますが、うまく動かず困り果てております。 表示されるべきファイル名はデータベース(mdb)に書かれており、変数として得られるのですが、それをどのようにすれば特定のtargetに表示できるのでしょうか。 ボタンはsubmitで現在表示しているドキュメントのidをCGIに送っています。
- komorebi99
- お礼率66% (22/33)
- Perl
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「上フレームをcgiで出力していて、上フレーム表示を変更すると 同時に下フレームのページも変更したい」 という意味でいいですか? 2つのフレームを同時に変更するには、javascriptの助けが必要かと思われます。 それとも、フレームsetを記述しているファイルからすぺてcgi出力にするかですね。 せっかくですからjavascriptは使わず、cgiでフレーム記述ファイルも出力してしまう方法を提示してみます。 1.cgi呼び出しクエリーを xx.cgi?id=nn&set=page の書式とする クエリーなし呼び出しの時はid=0としてフレーム出力する set=pageの指定で上フレーム内のページ出力 setがなければフレーム出力モード呼び出しとする。 2.cgiが呼び出されたとき まず、request queryデータを & で分解して $idと$setに値をセットする if($set eq 'page'){ #上フレーム内ボタン付きページ出力 }else{ #フレーム出力 } 3.フレーム出力時 idがあれば下フレームのsrcに対応するファイル名を入れる 上フレームsrcを xx.cgi?id=$id&set=page とする 以下のようなframsetを記述(ヒアドキュメントの記述として見てください) <frameset rows="30%.*"> <frame src="xx.cgi?id=$id&set=page" name="ue"> <frame src="$file" name="sita"> </frameset> 4.ページ出力 formのtarget を _parent として、hiddenエレメントでidを指定 setは、無しとする。 次のページのidを$idnに入れたとして 以下のようなformを出力(ヒアドキュメントの記述として見てください) <form action="xx.cgi" target="_parent" method="get"> <input type="submit" value="+"> <input type="hidden" name="id" value="$idn"> </form> 前ページボタンも同様に。 あと、idが最初と最後の場合わけはすでに出来てますよね?
関連するQ&A
- 1つのボタンで複数の作業
お世話になっています。 ページを上下のフレームに分割、上は入力項目とSubmitボタン、 下は次ページの表示という画面構成です。 やりたいことはSubmitボタンを押して下に次ページを表示させつつ、 入力した値をキーにDB検索し、該当結果を上に再表示させることです。 aaa.aspのSubmitボタンひとつのクリックで 上フレームにbbb.asp、下フレームにccc.aspというページを同時に表示といった感じでしょうか。 このように1つのボタンで複数の動作をするのは可能なのでしょうか。 どなたかご存知の方、教えてください!
- ベストアンサー
- Microsoft ASP
- 複数のSubmitボタンがあり、1つのボタンのみ新しいウインドウで開く
複数のSubmitボタンがあり、1つのボタンのみ新しいウインドウで開く 上記について教えてください。 ・すべてのsubmitボタンにonclickイベントを付加してイベントに引数を渡し新しく開くか、現在のウインドウで開くかを選択する という方法でも可能かと思うのですが、新しく開くボタンにのみイベントの記述をしたいと考えています。(現在のウインドウに開くsubmitボタンに手を加えたくない) そこで、 (1) document.myform.target="_blank"; (2) document.myform.submit(); (3) document.myform.target = "_top"; (その他のボタン用に元に戻す) のようにしてみたのですが、 (2) document.myform.submit(); で指定のボタンを押させることができないため document.myform.mySubmitBtn.submit(); のようにすると指定のボタンを押させることが可能なのですが、そうするとその後の (3) document.myform.target = "_top"; が反映されず、新しいウインドウが開いた後は、すべてのボタンとも新しいウインドウで開かれてしまいます。 何か良い案あればよろしくお願い致します。
- ベストアンサー
- JavaScript
- 複数の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
- submitして表示されるページをフレーム分割
perl-CGIを使ったシステムです。 フレーム上下分割したページで、上のフレームにリストボックスにカテゴリがA・B・Cがあり、どれかを選択して実行ボタン(SUBMIT)をクリックすると、下のフレームに選択カテゴリのデータを抽出し一覧表が表示されるようにしています。ここまでは出来ているのですが、 これと全く別のページ、例えばindexページに、「カテゴリを選択して下さい。A、B、C」みたいなリンクがあって、Aをクリックすると、先に書いた、上下分割のページが表示され、下のフレームにはAの抽出一覧が表示される・・・という様にするにはどうしたらよいのでしょうか? indexでAを選択すると、Aの抽出一覧、つまり下のフレーム部分のみが表示されるページをつくることは出来ますが、それじゃ次に別のパラメータで再検索するということが出来ないので、どうしても最初に述べたフレーム上下分割したページにしたいのです。
- ベストアンサー
- Perl
- htmlの別フレームにphpでの処理結果を表示
htmlでフレームを上下に分割し、上のフレームに用意したセレクトボックスで選択された値に応じて phpとmysqlを用いてデータベースから該当するものを抽出し、 その結果を下のフレームに表示させる方法が分からなくて困ってます。 例えば、上フレームのセレクトボックスで選択した名前と同じ名前の建物をデータベースから 探し出して下フレームに検索結果(住所、電話番号など)を表示させるというような処理です。 テキストフォームに入力された文字列を別フレームに"target"を使って 表示させる方法は見つけましたが、それでは検索結果を表示させられないような気がして。。 参考になるサイトなどありますでしょうか? どなたかおわかりの方がいらっしゃいましたら、教えてもらえると非常に助かります。
- ベストアンサー
- PHP
- Flash設置とターゲット指定について
Flashメニューを使ってHPを作っています。txtファイルにターゲットを指定する項目があるのですが、フレームで上下2分割にしたindexページのbottomに表示させるにはどうしたらよいのでしょうか?メニューボタンは複数あり、&target1=_blank& &target=_blank& というように並んでいます。_blankの部分を_bottomに変更するだけではダメなのでしょうか?何度やっても別ウィンドウで表示されてしまいます。初歩的な質問だとは思いますがどなたかよろしくお願い致します。
- ベストアンサー
- その他(インターネット・Webサービス)
- WEB画面でのボタンクリック機能について
すみません。困っていますので、教えてください。 VBScriptで色々処理をしているのですが、WEB画面で上下2フレームに分割した、上フレームに条件を入力して、配置したボタンをクリックすることにより、下フレームにその結果を表示させたいのですが、VBScriptで可能でしょうか。JavaScriptでないとやはりだめなのでしょうか。(なんらかの画面:html画面でも表示できれば何とかなりそうなのですが。)
- 締切済み
- その他(ビジネス・キャリア)
- 画面全体に表示したい!
まずは、下のソースをご覧下さい。 ------------------------------------------------- ファイル : sample1.htm <HTML> <HEAD><TITLE>CALL</TITLE></HEAD> <BODY> <a href="sample2.htm">フレーム分割</a> </BODY> </HTML> ------------------------------------------------- ファイル : sample2.htm <HTML> <HEAD><TITLE>MAIN_FL</TITLE></HEAD> <FRAMESET ROWS="64,*,64"> <FRAME SRC="top_frame.cgi" NAME="top" TARGET="A1"> <FRAMESET COLS="540,*"> <FRAME SRC="left_frame.cgi" NAME="right" TARGET="A2"> <FRAME SRC="right_frame.cgi" NAME="left" TARGET="A3"> </FRAMESET> <FRAME SRC="und_frame.cgi" NAME="under" TARGET="A4"> <NOFRAMES><BODY>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</BODY></NOFRAMES> </FRAMESET> </HTML> ------------------------------------------------ "und_frame.cgi"を実行した後、表示されたHTML <HTML> <HEAD><TITLE>UNDER_FRAME</TITLE></HEAD> <BODY> <FRAME NAME="BACK_TOP" METHOD="POST" ACTION="sample1.htm" TARGET=> <INPUT TYPE="HIDDEN" NAME="H1" VALUE="AAA"> <INPUT TYPE="HIDDEN" NAME="H2" VALUE="BBB"> <INPUT TYPE="SUBMIT" NAME="S1" VALUE="トップへ"> </FORM> </BODY> </HTML> ------------------------------------------------ 以上です。これを実行しますと4つのフレームに分割されまして、 一番下のフレームには「トップへ」というサブミットボタンが表示されます。 そこでボタンを押されたら一部のフレームだけじゃなく、 画面全体を"sample1.htm"を実行した画面に遷移したいのですが、 どのようにやればよろしいのでしょうか?
- ベストアンサー
- HTML
- フレームページのメニューボタン
いくつか同じような質問がありましたが、スクリプトでの解決方法がみつかりませんでしたので質問させてもらいます 今フレームを使ったHPを作っています フレームは上下で分割してあり、上のフレームにはFLASHをつかったメニューボタンを入れあり、ボタンを押すことで下のフレームに各ページを表示させます メニューボタンはマウスが乗ると色が変わるボタンなんですけど 下のフレームに表示してあるページと対応したボタンが常にonの状態になるようなFLASHメニューにしたいんですけどスクリプトをどう記述したらいいかわかりません だれか教えていただけないでしょうか? ちなみにFLASHソフトはフリーソフトSUZUKAを使っています
- ベストアンサー
- その他(インターネット・Webサービス)
お礼
回答ありがとうございます 大変お手数おかけしました。 納期が迫っていまして質問した後でいろいろ試しました。 次の方法が見つかり、リリース版を決定しようと思います。 (JavaScriptを用いた方法です) function GO(){ parent.menu.location.href ="....cgi?dispid=$did&fileid=$fid"; parent.disp.location.href =" URL/$fname"; } JavaScriptの起動はbody onLoadとしました。