プロが教える店舗&オフィスのセキュリティ対策術

ある子ウィンドウで選択した値をServretに渡して子ウィンドウを閉じたいのですが、Servletで処理している最中にウィンドウが閉じてしまい、値を格納できません。
Servletに渡し終えたかの判断ができればいいのですが…何かよい方法はありませんか?

下記にJava Scriptを書いておきます。
function action_submit(){
with(document.form**){
action= "<Servlet>?URLNAME="+URLNAME.value;
  method= "POST";
  submit();
}
window.close();
}

よろしくお願いします。

A 回答 (2件)

こんばんはarowanaさん、xruzです。


>Servletに渡し終えたかの判断ができればいいのですが
というわけにはいきませんが、たぶん以下の方法でよいと思います。

var tid=null;
function winClose() {
clearTimeout(tid);
window.close();
}

function action_submit(){
with(document.form**){
action= "<Servlet>?URLNAME="+URLNAME.value;
  method= "POST";
  submit();
}
tid=setTimeout('winClose()',500);
}

クローズするタイミングを少しずらします。
がんばってくださいね(~:~i
    • good
    • 0
この回答へのお礼

ありがとうございます。
setTimeoutで時間を稼ぐんですね。
一応実行できたんですけどIE5.5だと動かないみたいです。
(ネスケは確認済み)
そんな話は聞いたことがないのですが…
IEとネスケで処理を分けてやってみようと思います。
IEの処理のほうはもう少し頑張ってみます。

お礼日時:2002/02/05 10:30

xruzです。


w2ksp1+Ie5.5sp2およびNT4.0sp5+Ie5.0sp2の
環境では下記の処理は正常でした。

var tid=null;
function winClose() {
clearTimeout(tid);
window.close();
}
function sj() {
tid=setTimeout('winClose()',1500);
}

とりあえず、ご報告まで。
    • good
    • 0
この回答へのお礼

報告ありがとうございます。
IEのパッチを当てたら動きました。

お礼日時:2002/02/06 12:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!