- ベストアンサー
「submit」ボタンでフレームセットのページへ
フレームの無いページに設置した検索フォームの結果を、 左右2分割のフレームセットのページへ出力させる方法を教えて下さい。 尚、この出力されるページのプログラムは変更する事ができないのでindex.html内でのカスタマイズ方法をよろしくお願いします。 index.html(フレームなしページ) ↓ sampleA.html(左側フレーム) + sampleB.asp(右側フレームに出力)
- みんなの回答 (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形式の送信に対応していない場合は使えません。
その他の回答 (2)
- mangetsu_k
- ベストアンサー率40% (33/81)
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")でデータを受け取り、それを使って検索。
補足
ご返答ありがとうございます。 ただ、ご返答いただきましたフレームセットを定義する frame.aspを当方で作成することが出来ません。 frame.aspではなく通常のHTMLで行えるような 方法はないでしょうか。(JavaScritでの解決方法など)
- flowermaze
- ベストアンサー率56% (159/282)
sampleA.html内の<form>タグのターゲット指定を右フレームの名前にすればできますよ。
補足
ご返答ありがとうございます。 検索フォームを設置しているのは、フレームセット内のsampleA.htmlではなく、フレームを使用していないindex.htmlになります。 その為、フレーム自体が存在してないので普通にターゲットを指定する事ができないのです。 説明不足で申し訳ないです…
お礼
本当にありがとうございますっ!! フレームセットをJavaScriptで記述する方法で うまく表示されました! まだまだ勉強不足を痛感させられる今日この頃です。