• ベストアンサー

「submit」ボタンでフレームセットのページへ

フレームの無いページに設置した検索フォームの結果を、 左右2分割のフレームセットのページへ出力させる方法を教えて下さい。 尚、この出力されるページのプログラムは変更する事ができないのでindex.html内でのカスタマイズ方法をよろしくお願いします。 index.html(フレームなしページ) ↓ sampleA.html(左側フレーム) + sampleB.asp(右側フレームに出力)

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

  • ベストアンサー
回答No.3

あ、質問を読み違えていました。失礼しました。 こんな感じでいかがでしょう。 【index.html】 <form method="get" action="index2.html"> フォームの中身 <input type="submit" value="検索"> </form> 【index2.html】(フレームページ) <script type="text/javascript"> document.write('<frameset cols="28%, *">'); document.write('<frame src="sampleA.html" name="A">'); document.write('<frame src="'); document.write('sampleB.asp'); document.write(location.search); document.write('" name="B">'); document.write('</frameset>'); </script> 一旦検索キーワードをindex2.htmlに送り、index2.html内では<frameset>~</frameset>の代わりに上記スクリプトでフレーム分割。 get形式で送るためアドレス欄は美しくないですが… #sampleB.aspがget形式の送信に対応していない場合は使えません。

39saku39
質問者

お礼

本当にありがとうございますっ!! フレームセットをJavaScriptで記述する方法で うまく表示されました! まだまだ勉強不足を痛感させられる今日この頃です。

その他の回答 (2)

回答No.2

ASPは利用可能のようですので、以下のようにしてはいかがでしょうか? まずindex.htmlで(仮に)  <FORM METHOD="POST" ACTION="frame.asp">  <INPUT NAME="KEY"> と設定します。 frame.aspで <FRAMESET COLS="220,*">  <FRAME SRC="sampleA.html" NAME="A">  <FRAME SRC="sampleB.asp?KEY=Request.form("KEY")" NAME="B"> </FRAMESET> とする。 sampleB.asp  Request.QueryString("KEY")でデータを受け取り、それを使って検索。

39saku39
質問者

補足

ご返答ありがとうございます。 ただ、ご返答いただきましたフレームセットを定義する frame.aspを当方で作成することが出来ません。 frame.aspではなく通常のHTMLで行えるような 方法はないでしょうか。(JavaScritでの解決方法など)

回答No.1

sampleA.html内の<form>タグのターゲット指定を右フレームの名前にすればできますよ。

39saku39
質問者

補足

ご返答ありがとうございます。 検索フォームを設置しているのは、フレームセット内のsampleA.htmlではなく、フレームを使用していないindex.htmlになります。 その為、フレーム自体が存在してないので普通にターゲットを指定する事ができないのです。 説明不足で申し訳ないです…