• 締切済み

SubWindowを閉じる時に処理する方法

ある子ウィンドウで選択した値をServretに渡して子ウィンドウを閉じたいのですが、Servletで処理している最中にウィンドウが閉じてしまい、値を格納できません。 Servletに渡し終えたかの判断ができればいいのですが…何かよい方法はありませんか? 下記にJava Scriptを書いておきます。 function action_submit(){ with(document.form**){ action= "<Servlet>?URLNAME="+URLNAME.value;   method= "POST";   submit(); } window.close(); } よろしくお願いします。

みんなの回答

  • xruz
  • ベストアンサー率50% (72/143)
回答No.2

xruzです。 w2ksp1+Ie5.5sp2およびNT4.0sp5+Ie5.0sp2の 環境では下記の処理は正常でした。 var tid=null; function winClose() { clearTimeout(tid); window.close(); } function sj() { tid=setTimeout('winClose()',1500); } とりあえず、ご報告まで。

arowana
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • xruz
  • ベストアンサー率50% (72/143)
回答No.1

こんばんは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

arowana
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A