aspで異なるフレームにページを再表示させるには?

[上に] [前に] [次に]
BlueTree [E-Mail] 1998/12/09(水) 11:13:32
aspで開発しているのですが、行き詰まってしまいました。

異なるフレームに引数を渡してページを再表示させたいと思っています。
具体的に述べますと、
例えば上下にHEADとBODYというフレームをわけて、
HEADのほうにはHEAD.ASPを読み込み、
BODYの方では、BODY.ASPを読み込むようにします。
BODY.ASPでは、DBにアクセスしてその値を表示させるとします。
DBの値の一部をHEADの方にも表示させたいので、
引数を渡して、HEADのフレームにHEAD.ASPを再表示させたいのですが、
異なるフレームにページを読み込ませる方法がわかりません。
TARGETみたいなことを指定したりすることができるのでしょうか?
どなたかご存知のかた、教えて下さい。
宜しくお願いします。

ゆうこ 1998/12/10(木) 09:19:51
こんにちは。
うちでは、始めにフレームをこんな感じでつくって、
---------------------
<FRAMESET ROWS="50,*">
  <FRAME SRC="Dummy.asp" NAME="HEAD">
  <FRAME SRC="BODY.asp" NAME="BODY">
</FRAMESET>
---------------------
ダミーページと下のページを表示させ、
BODY.aspの中で、
---------------------
<HEAD>
  <SCRIPT LANGUAGE="JavaScript">
  // Window ロード時
  function Window_OnLoad() {
      document.frmHEAD.submit();
  }
  </SCRIPT>
</HEAD>
。。。
<FORM NAME="frmHEAD" ACTION="HEAD.asp" TARGET="HEAD">
  <INPUT TYPE="hidden" NAME="XXX" VALUE="***">
</FORM>
---------------------
としてます。

BlueTree 1998/12/10(木) 14:04:21
ゆうこさん、ありがとうございます。
非常に助かります!これで問題が解決できます。
<FORM>でTARGET指定できるとは知りませんでした。

ただ、ちょっとお聞きしたいのですが、JavaScriptの
Window_OnLoad()はどういうタイミングでよばれるのですか?
どこかでこの関数を呼ぶコードを書かなくていいのですか?
試したところうまく行かなかったので、
呼び出ししていないからかなと思って<body>タグにonLoad="Window_OnLoad()"
と書いてみたらうまく行きました。
でも、ゆうこさんがなさっていたのはきっとわざわざ<body>タグに
書かなくてもいいやり方なんだと思うのですが、
その辺を少し説明していただけませんか?

ゆうこ 1998/12/10(木) 15:31:09
[[解決]]
ごめんなさ〜い。抜けてました。
BlueTreeさんがなさったとおり、
<BODY onLoad="Window_OnLoad()">が正解です。

BlueTree 1998/12/10(木) 16:33:25
[[解決]]
そうでしたか。わかりました。
ちなみに発見したのですが、submitで送ると、
ブラウザの戻るボタンで戻った場合
dummy.aspの方の表示がなされてしまうので、
JavaScriptの記述で
------------------------------------------
var p_XXX = document.frmHEAD.XXX.value;
parent.HEAD.location.replace("HEAD.asp?YYY=" + p_XXX );
------------------------------------------
と記述してみました。
いずれにせよ、解決してほっとしました。
ゆうこさん、ありがとうございます。

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