2分割したフレームを同時に更新するには

[上に] [前に] [次に]
たじ [E-Mail] 1998/12/29(火) 19:01:26
はじめまして、たじ と申します。
ASPでデータベースを更新するプログラムを作成しています。
ブラウザのフィールドを上下2つのフレームに分割して、上にはインデックスを表示し
下には詳細データを表示するプログラムを作成しました。
上のインデックスをクリックすると下のフレームに詳細が表示され、さらに詳細データ
を修正してsubmitボタンを押すとデータベースに反映されます。
このときに、上下両方のフレームに対して更新を行いたいのですが、フレームセットを
再読み込みするしか方法がないのでしょうか?
submitボタンを押した時に、TARGET指定で下のフレームに対して更新をかけたあと、Refresh
で上のフレームを更新させようと思いましたが、ダメですね。
何か良い方法はないでしょうか?

mura [E-Mail] 1998/12/29(火) 22:57:00
キホンは↓こちらをご覧ください。JavaScriptを有効にしてないとダメです。
http://www.tohoho-web.com/how2/frame.htm#multi

上のフレームは、submitの影響を受けるのでしょうか?
というか、なんで上を更新する必要があるんでしょうか?
それがわからないとちょっと答えにくいんですが…。

簡単に思い付く方法として2つありますが、1つはsubmitボタンを押すと同時に更新
<INPUT TYPE=submit VALUE="さぶみっと" onClick="parent.UPPER_FRAME.location.href='hogehoge'">
2つめはsubmit後のHTMLで指定する
<BODY onLoad="parent.UPPER_FRAME.location.href='hogehoge'">
というやつです。もちろん他にも指定の方法はあります。

たじ 1999/01/02(土) 15:56:38
レスありがとうございます。お正月でここを見る頻度が落ちていますが・・(^^;
まず、同時更新の理由ですが。
下のフレームの詳細情報を変更してデータベースに登録された事を示すために”登録は完了しました”
等のメッセージを表示し、上のフィールドに対しては更新したデータに対応するプレビューデータを
再表示するために使用したいと思っています。
(会議室型のBBSで、インデックスと発言欄の2フレーム形式で運営されている物と同じ機能を
実現したいと思っています。)

そうですかJavaScriptを有効にしなければできませんか
JavaScriptはoffにしている人が多いので、できればHTMLだけで処理したいと思っていたのですが、
無理でしょうか?

mura 1999/01/03(日) 19:56:41
HTMLだけでは無理みたいですね。
もしできるなら上記Q&A集のページに既に載ってるんでしょうし…。

「詳細変更情報」のフォームのTARGETを_topにして、FRAMESETするページを
呼ぶ(その前に「完了しました」のメッセージを_topに表示する方法もあり)
しかないんでしょうね、たぶん。

たじ 1999/01/05(火) 09:21:17
[[解決]]
別の方法が無いことが判ればいいです。変な方法を使ってて「実はこんなスマートな方法が
あるんですよ」なんて事がなければあきらめもつきます。
FRAMESETで対処する方向で考えることにします。

年越しのおつきあい、どうもありがとうございました。

BAn [E-Mail] [HomePage] 1999/01/05(火) 13:02:48
以前こちらでおしえてもらったNetscape のみに有効な方法が、

http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/target.html

↑こちらであります。
CGI で処理したデータを表示させる時で、IEを無視するなら
つかえそうです。
使い方は、HTTP の ヘッダーに、

Window-target: foo

と出すだけです。
これで、foo という名前の window に表示してくれます。

下のフレームを表示した後、Refresh を使って
Window-target で上のフレームを指定して表示。
ということを、私はやってます。
でも、NN専用だから、人にはアドレスを教えにくい・・。
かなり邪道な気がするけど、楽チンです。。

たじ 1999/01/05(火) 18:05:22
そんな方法があるんですか。
知りませんでした。(知らないことが多すぎる・・・・)
でも今回は、NN・IE両方対応が原則なので使えなかったりします。

どうもありがとうございます。

[上に] [前に] [次に]