CGIからの出力を特定フレームに表示するには?

[上に] [前に] [次に]
ひろ [E-Mail] 1999/05/27(木) 20:03:05
A,B2つのフレームがあります。
Bのボタンを押すとAのFORMにあるデータをSubmitし、CGIからの
戻りをBのフレームに表示するページを作ったのですが、新しい
ウィンドウが立ち上がってしまい、Bのフレームに表示されません。

<frameset rows="10%,90%" frameborder=0 border=0 bordercolor="#FFFFFF">
  <frame src="○○.html" name="A" scrolling="no">
  <frame src="△△.html" name="B">
</frameset>

AのFORMは、こんな感じ
<form method="POST" name="Data" target="B">
     :

Bからのactionの指定は、こんな感じ
<input type='button' value='送信'
  onclick='top.frames[0].document.Data.action="cgi-bin/send.cgi";
  top.frames[0].document.Data.submit();'>

どうしてBのフレームに表示されないのでしょうか?


ひろ [E-Mail] 1999/05/27(木) 20:05:07
すいません、間違いがありました。
> <input type='button' value='送信'
> onclick='top.frames[0].document.Data.action="cgi-bin/send.cgi";
> top.frames[0].document.Data.submit();'>

top.frames[0].document.A.submit();

でした。


ひろ [E-Mail] 1999/05/30(日) 08:34:17
[[解決]]
自身で解決する事ができました。

> <input type='button' value='送信'
> onclick='top.frames[0].document.A.action="cgi-bin/send.cgi;
> top.frames[0].document.A.submit();'>

上記のJavaScriptの部分を別funictionにしてフレームAに置き
、targetを指定する様にしたら上手く表示する様になりました。

function Send() {
  document.A.action="cgi-bin/send.cgi";
  document.A.target=top.frames[1].name;
  document.Data.submit();
}

NCで作成していたのですが、フレーム名は表示が変わるたび
(Bフレームを分割し場合等)フレーム名が変わってしまう
様です.


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