フレーム越しに値を渡すには?

[上に] [前に] [次に]
ちゃも 1998/12/08(火) 18:31:36
フレームで2分割されたページがあるとします。
左のページには、右のページに対する内部リンクボタンがあり
右のページには、いくつかの入力フォームがあるとします。
右のページは、入力フォームの値を使い計算するボタンがあるとします。
計算ボタンを押すと、入力された値をそのまま右の画面に表示し更に
計算結果も表示してやります。
ここまでは出来ているんですが、計算し終ったあと左の内部リンク
ボタンを押すと全て入力されているデータが消えてしまいます。
これを消さないで内部リンクできるようにするにはどうしたらよいでしょうか?
よろしくお願いします。

しなのむし 1998/12/08(火) 19:27:44
>内部リンクボタン
これが何を意味するのか分かりません。

計算は、CGIでやっているでしょうか?それとも
クライアントサイドでやっているでしょうか?

ちゃも 1998/12/08(火) 22:03:11
右の画面のページの長さが長いので左の画面に
内部リンクボタンを付けて各項目の所に飛べるようにしています。

計算はCGIでやっています。
よろしくお願いします。

しなのむし 1998/12/09(水) 02:47:22
<A HREF="keisan.cgi#k5" TARGET="migi">項目5</A>
こんな感じで左から右を呼んでるとして
計算結果は右のページの FORM の TEXTAREA か INPUT TYPE="text"
等の中に表示されるのでしょうか?
VALUE=""の中に計算結果が入った形で結果ページが
生成される訳ですよね?

左から右を呼んでも消えるわけはないと思うんですけど。

しなのむし 1998/12/09(水) 02:58:35
>左から右を呼ぶ
とは言っても右に結果ページがすでに表示されている状態
で左から右にあるアンカーポイントを呼ぶってことです。
念のため。

ちゃも 1998/12/09(水) 08:59:43
いや計算はあくまで右の計算ボタンを押したときに実行され
消えてしまうのは計算し終ったあとに左の内部リンクボタンを押すとです。

VALUE=""の中に計算結果が入った形で結果ページが
生成される訳です。

しなのむし 1998/12/09(水) 10:30:25
>いや計算はあくまで右の計算ボタンを押したときに実行され
>消えてしまうのは計算し終ったあとに左の内部リンクボタンを押すとです。

そう理解しています。
そのボタン(というのは <A HREF のことなのでしょうか?)
を押すと右のページはアンカーポイントに移動するだけですか?
もしかして、CGIを再度呼んでませんか?
VALUE=""の中に結果が入っている以上、アンカーポイントに移動
するだけなら結果は消えないはずです。

でなければ、ブラウザのバグで表示されなくなるとか・・・

ちゃも 1998/12/09(水) 11:03:36
計算し終ると右側の画面はCGIで表示されるので
左側の内部リンクボタンを押すと値が消えてしまうんです。
それとも内部リンクボタンの書方がまずいんでしょうか。
なにを指定してやればいいのか(内部リンク先)わかりません。

しなのむし 1998/12/09(水) 16:19:25
>それとも内部リンクボタンの書方がまずいんでしょうか。
そう思います。

たとえば以下のようにフレームが分割されているとします。
<frameset cols="50%,*">
  <frame src="index1.htm" name="hidari">
  <frame src="keisan.cgi" name="migi">
</frameset>

左のページ(index1.htm)に以下のように書きます。
<A HREF="keisan.cgi#k1" TARGET="migi">項目1</A>

右(keisan.cgi)の結果ページには
<A NAME="k1">項目1</A>
と書きます。

これで試してみてください。

omi 1998/12/09(水) 18:57:43
href="hoge.htm#line20" は、
自分のページ内からなら、更新されませんが、
隣からなら、更新されて、フォームの値が消えると思います。
更新しないで、長いページの見る位置を変えるには、
href="javascript:scroll(0,Yline20)"
が良いんじゃないでしょうか。でも、的外れの気がしますね。

しなのむし 1998/12/09(水) 19:40:39
>href="hoge.htm#line20"
隣からでも更新されませんよ。
IE、NCで実証済み。

しなのむし 1998/12/09(水) 20:14:25
考えられるミスとして
計算前と計算後でスクリプトのURLが違う
ということもありえます。

例えば
http://www.tohoho-web.com/www.htm

http://www.tohoho-web.com/www.htm?

は内容は同じですが、URLとしては別物なので
再読み込みしてしまいます。

かなりしつこく書いてしまいました。
でも、気になるので原因わかったら教えてくださいね。
>ちゃもさん

ちゃも 1998/12/09(水) 21:02:37
いろいろな意見ありがとうございました。

確認してみたんですがURLは同じでした。
たぶん使ってるブラウザに問題があるんじゃないかと思います。
いろいろありがとうございました。
違うブラウザで試してみたいと思います。

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