WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:フレーム間のsubmit

0:[投稿] ぷりん [2002/05/13 20:13 ][環境:WIN+IE WIN系+Java]

ASPをやっています。
上下2分割のフレームがありそれぞれフレームの名称が
top_f、bottom_fとします。かなり簡略していますが
//top_f側
function form1Submit(){
 //いろいろな処理
 parent.bottom_f.form2Submit();
}
//

//bottom_f側
function form2Submit(){
 //いろいろな処理
 document.form2.submit();
}
といった感じでsubmit()をしています。
実際に実行すると確かに期待した動きをしてくれるのですが
ブラウザのステータスバーの読込中に表示されるバーが
徐々に増えていき中央辺りで止まるという
奇妙な動きをする時があります。とても心配です・・・。
ただし、bottom_f側のform2内にsubmit属性のボタンをつくり
onclickである処理をする関数を呼ぶという形をとると
(当然関数内にはdocument.form2.submit();はありません)
奇妙な動きをすることはありません。
ただデザインの関係上この処理はしたくありません。
コネクション・レコードセットオブジェクトをきちんと
開放しないとこのような現象が起きることがあるみたいですが
その部分のチェックは行い大丈夫でした。

どなたかよろしくお願いします。


1:[回答] お [2002/05/14 12:20 ]

http://www.parkcity.ne.jp/~chaichan/qanda/qa2673.htm
とかは?


2:[質問] ぷりん [2002/05/15 15:06 ]

おさんありがとうございます。
document.close();をsubmitの前後にいれて試してみたのですが
現象は変わりませんでした。
どうしたらよいでしょうか?
なにかいけない処理をしているのでしょうか?


3:[回答] TOM neko [2002/05/15 21:13 ]

return false;
では?
top_fのformの送信をonSubmitで横取りしてるなら、本来のsubmitを中止する必要があるでしょう。


4:[回答] ぷりん [2002/05/16 14:53 ]

TOM nekoさん、ありがとうございます。
私のスクリプトではonSubmitは使用していません。
return false;についても
試してみましたがうまくいきませんでした。
もう少し細かくプログラムを書いてみます。
上下2分割のフレームがありそれぞれフレームの名称が
top_f、bottom_fとします。

//top_f側
function form1Submit(){
parent.bottom_f.form2Submit();
}

<a href="javascript:form1Submit();">サブミット</a>

<form name="form1" method="post" action="">
 <input type="text" name="t1">
</form>
//

//bottom_f側
function form2Submit(){
document.form2.t1.value = parent.top_f.document.form1.t1.value;
document.form2.submit();
}

<form name="form2" method="post" action="<%=Request.ServerVariables("Script_Name")%>">
 <input type="hidden" name="t1">
</form>
//

としています。
どなたかよろしくお願いします。


5:[質問] ぷりん [2002/05/16 14:55 ]

すいません、4番の回答(必須):状態を「回答」
にしてしまいました。実際は「質問」です。
どなたかよろしくお願いします。


6:[回答] TOM neko [2002/05/16 15:21 ]

<a href="javascript:form1Submit();" target="bottom_f">サブミット</a>
では?


7:[質問] ぷりん [2002/05/17 11:51 ]

TOM nekoさん、ありがとうございます。
<a href="javascript:form1Submit();" target="bottom_f">サブミット</a>
を試してみたのですがエラーを起こしてしまいました。
フレームなので target="parent.bottom_f"ともやってみましたが
結果は同じでした。
そこで
<a href="javascript:void(0);" onClick="form1Submit();">サブミット</a>
としてみたところ奇妙な動きはしなくなりました。
あとどうしても<a>でやりたかったので
(実際は<a><img></a>としているので)
ここには書かなかったのですが
<input type="button" name="submit" value="ボタン" onClick="form1Submit();">
とやる分には奇妙な動きはしませんでした。
苦し紛れの策なのですが一応IE・N6では動作しています。
このような記述は正しいのでしょうか?


8:[回答] TOM neko [2002/05/17 17:33 ]

やはりaをクリックしたのにページ移動しないのが原因でしたか。
javascript:void(0);もtype="button"もどちらも記述的には間違っていませんが、onClickを使う時にはonKeypressも書いて、装置非依存にするのが良いそうです。
例:
<a href="javascript:void(0);" onClick="form1Submit();" onKeypress="form1Submit();">
あとはJavascriptオフの人向けの対策。


9:[完了] ぷりん [2002/05/19 20:33 ]

TOM nekoさん、ありがとうございます。
早速onKeypress処理をいれようと思います。

Web系の勉強をはじめてから、一見あってそうなのに
なんでこれで動かないんだろうと思うことが多々あります。
またわからない箇所が出てきたら質問しますので、
そのときはよろしくお願いします。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World