2つのフレームで同時に内容を更新するにはどうしたらいいのでしょう?

[上に] [前に] [次に]
なっQ [E-Mail] 1999/09/06(月) 14:51:19
すでに同じような質問をしていらっしゃる方がいたら,すみません。
私の作成したチャットは,発言を投稿する入力用フレームと発言を表示する
フレームの2つに分かれています。
発言を投稿するフレームで発言内容を書き込み,発言(送信)ボタンを
押すと,発言投稿のフレームのみが再読込されて,テキストエリアに
何も書かれていない状況になります。
しかし,発言を表示するフレームは,metaタグで指定したリロード時間が
すぎるまで更新されません。
発言投稿のフレームで発言(送信)ボタンを押すと
発言投稿フレームを再読込し,なおかつ発言表示のフレームも
一緒に再読込する方法は無いでしょうか?

Nobu3 [E-Mail] [HomePage] 1999/09/06(月) 14:59:09
JavaScriptに頼るなら、location.hrefで変更できます。
例えば、
top.frame1.location.href=top.frame1.location.href;
top.frame2.location.href=top.frame2.location.href;
で、frame1とframe2のフレームがリロードできます。

paraQ 1999/09/06(月) 15:21:19
この場合は、発言投稿のフレームを再読込したときに発言表示のフレームを読み込むようにするのがいいでしょう。

多分発言投稿のフレームもCGIで書き出すと思いますので、その際<BODY>に
onLoad="top.frame2.location.href=top.frame2.location.href"
このようにonLoadを設定すればいいと思います。

なっQ [E-Mail] 1999/09/06(月) 17:04:28
Nobu3様,paraQ様,どうもありがとうございます。
JavaScriptを使ってのやり方はお2人の助言でわかりました。
ところで,これをCGIか,HTMLで処理する方法は無いのでしょうか。
全ての人がJavaScriptを使用許可しているとは限らないので・・・
どなたかいい方法がわかる人は教えてください。

paraQ 1999/09/06(月) 21:58:18
<FORM action="..." target="_parent">
のようにtarget="_parent"を追加していったんフレームを解除し、次にCGI側で投稿フレーム、表示フレームを書き出せば良いのでは。

なっQ [E-Mail] 1999/09/07(火) 14:37:18
paraQ様,どうもありがとうございます。
paraQ様の教えてくださった方法でできましたが,さらに新しい問題が出てしまいました。
今まで引数をPOSTで渡していたのですが,<form・・・>を使うとどうしてもGETになってしまいますよね。
結構大量の引数を渡しているため,GETメソッドで引数を渡すと,
渡された引数のうち特に名前などの日本語が化けるようになってしまいました。
どうにかしてPOST型で送る方法は無いでしょうか。
もしくはGETで送っても化けない方法は無いでしょうか。

ふじ 1999/09/07(火) 14:41:57
><form・・・>を使うとどうしてもGETになってしまいますよね。
そんなことありません。
<FORM METHOD="POST">
とすれば POST で送れます。

なっQ [E-Mail] 1999/09/07(火) 14:50:44
[[解決]]
ふじ様,すみません,まちがえました。
<form>ではなくて,<frame src=>でした。
<frame src="・・・?・・・&・・・">というようにして
引数を渡すときにPOSTで渡す方法は無いのでしょうか。

なっQ [E-Mail] 1999/09/07(火) 14:53:17
解決していないのに解決ボタンを押してしまいました。
わかる人いらっしゃったら教えてください。

あのんきい 1999/09/07(火) 15:07:29
なっQさん
<frame src="・・・?・・・&・・・">として、
"post"で送ることは出来ません

日本語が化けるというのは、エンコード/デコードの方法に
問題があるような気がしますが…
あるいは、文字コードの違いとか
(<frame src="・・・?・・・&・・・">では、SJISで書いているのに、
それを処理するプログラムがEUCで処理しているとか :-)

paraQ 1999/09/07(火) 15:42:27
<FORM action="..." method="post" target="表示フレーム">
として、発言した後表示フレームの方のみ更新するようにすればいいのではないでしょうか。発言内容は残ってしまいますが、それは諦めるとして。JavaScript対応の場合は消すことも可能ですし。

ZERO [E-Mail] [HomePage] 1999/09/14(火) 20:40:51
ネットスケープとエクスプローラを同時に使用してホームページに音楽を
れたんですが、自分のPCからは音が出なくなり「MMSYSTEM004 このデバ
イスは既に使用中です。解放されるまで待ってからやりなおしてください」
というメッセージが出るのですが、どうしたら元に戻りますか、どなたか
教えてください

kala 1999/09/14(火) 23:04:33
ZEROさん
再起動すれば直るのでは? そもそも「ホームページ作成に関する質問」とはちょっと違うと思うのですが。

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