ある子ウィンドウで選択した値を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で質問しましょう!

このQ&Aと関連する良く見られている質問

QJavaScriptで【window.google={kHL:"ja"};】という記述はどういう意味?

JavaScriptで【window.google={kHL:"ja"};】という記述はどういう意味?


YOUTUBE日本語版
http://jp.youtube.com/
のHTMLソースを見ていたら、



<script type="text/javascript">
    window.google={kHL:"ja"};
</script>


という記述を目にしたのですがこれはどういう意味あいというか目的のものなのでしょうか?


教えていただければ幸いです。

Aベストアンサー

これは、window.googleに'kHL'というキー(値は'ja')を持つ連想配列を
作成しています。

JavaScriptでの連想配列は

var 変数名 = {
キー : '値',
キー : '値',
:,
キー : '値'
};

というような感じで作成します。
キーはダブルクォートまたはシングルクォートで囲まなくても
いいようです。

参考URL:http://javascriptist.net/docs/basic_hash.html,http://www.openspc2.org/JavaScript/kouza2007/array/hash/index.html

QFireFox3.5:onClick="window.close();でウィンドウが閉じません。

FireFox3.5.6を使用しています。OSは、WindowsXP。
FireFoxのツール→オプション→コンテンツの「JavaScriptを有効にする」にチェックマークを入れているのですが、下記のボタンを押してもウィンドウが閉じません(閉じるかどうか聞いてくるダイアログも表示されません)。
<input type="button" value="ウィンドウを閉じる" onClick="window.close();">

どのようなコードにすれば、良いでしょうか?FireFox3.5の設定の問題ですか(コードには問題なし?)?

ちなみに、IE7の場合、閉じるかどうか聞いてくるダイアログが表示されます。

参考サイト等も教えて下さい。

よろしくお願いします。

Aベストアンサー

参考URLをご覧ください。
「スクリプトはスクリプトによって開かれたウィンドウ以外を閉じることができません。」

設定やコードの問題ではなく、Firefoxはそういう仕様になっているということなのだと思います。

参考URL:https://developer.mozilla.org/ja/DOM/window.close

Q&= ~0x0c; &= ~0x03; |=1;

JavaScriptで分からないコードがあるので教えてください。


■変数設定
var hoge = 0;


■変数格納
・キーを押した時の条件分岐
  ~なら hoge |= 1;
  または hoge |= 2;
  または hoge |= 3;
  または hoge |= 8;

・キーを離した時の条件分岐
  ~なら hoge &= ~0x0c;
  または hoge &= ~0x03;


■変数使用
・swithch文の条件分岐に利用
  (hoge&0x03)
  (hoge&0x0c)


■質問
・どういう意味でしょうか?
・文字コード?
・ビット演算?

Aベストアンサー

ビット演算してるわね

x = x + a

x += a
って書くことができるの

つまり
hoge |= 1

hoge = hoge | 1
のことね

~はNOTのこと

0x
はアスキーコードの16進数表記ねきっと

0x0c は改ページを意味していて
0x03 は文章の最後を意味している
と思われるわ
全文がないので推測だけど

Q子ウィンドウの「閉じる(×)」で親ウィンドウも一緒に閉じる方法

タイトル通り、親ウィンドウと、子ウィンドウがあり、子ウィンドウの「×」でウィンドウを閉じた場合に、親ウィンドウも閉じることはできるのでしょうか。
JavaScriptで「閉じる」ボタンをつけて行うことは、可能なのですが、ウィンドウの「×」はどのように処理したらよいのかわかりません。
ご存知の方がいましたら、よろしくお願いしたします。

Aベストアンサー

子ウィンドウに親ウィンドウ側から別のページを読み出したり、あるいは子ウィンドウ内でページを移動・更新したりすることがないのであれば、window.onunloadのイベントを拾って親ウィンドウを閉じる処理を入れておくのが良いのではないかと思います。
window.onunloadは、現在表示されているページが、ページ移動・更新・ウィンドウを閉じる動作などで破棄された時を拾いますので、子ウィンドウを閉じた時に親ウィンドウを閉じるようにもできると思います。
その場合は、子ウィンドウ側のソースに、以下のソースを追加すれば実現できます。

<script type="text/javascript"><!--
function parentclose(){
if (opener){
opener.close();
}
}
window.onunload=parentclose;
//-->
</script>

ただし、先にも書いたように、子ウィンドウを再利用して別のページを読み出したり、あるいは子ウィンドウ内のコンテンツで更新・別ページへの移動ができる場合は、それらの動作を実行された時にも、その現在表示されているページが破棄されたことを検知して親ウィンドウを閉じようとします。 そういった動作を含むサイト設計をしている場合には、この方法は使えないでしょう。
また、親ウィンドウとなるウィンドウがスクリプトなどで開かれたウィンドウではない場合(ユーザーが任意で開いたウィンドウの場合)、IEではそのウィンドウをスクリプトから閉じようとしていることの警告ダイアログが出ますし、Netscape7ではその動作自体をセキュリティエラーとして実行しないようになっています。 状況によっては、実装しても思い通りの動作にならない可能性もあるかもしれません。

参考になれば幸いです。

子ウィンドウに親ウィンドウ側から別のページを読み出したり、あるいは子ウィンドウ内でページを移動・更新したりすることがないのであれば、window.onunloadのイベントを拾って親ウィンドウを閉じる処理を入れておくのが良いのではないかと思います。
window.onunloadは、現在表示されているページが、ページ移動・更新・ウィンドウを閉じる動作などで破棄された時を拾いますので、子ウィンドウを閉じた時に親ウィンドウを閉じるようにもできると思います。
その場合は、子ウィンドウ側のソースに、以下のソー...続きを読む

Q親ウィンドウから子ウィンドウの子ウィンドウを閉じたい

 親ウィンドウから子ウィンドウを開き、
その子ウィンドウで子ウィンドウ(孫ウィンドウ?)を開きます。
その状態で、親ウィンドウの画面移動で、子ウィンドウと孫ウィンドウを閉じたいのですが、できません。

JavaScript1--
 ssWin = window.open('---');
----
JavaScript2---
if(ssWin != null){ if (!ssWin.closed){ssWin.close(); }}
------
子ウィンドウまでは上記の方法で閉じれるのですが、孫ウィンドウの制御となると、どうやったらいいかわかりません。
 どなたかすいませんが、いい方法がありましたら、ご教授くださいませ。

Aベストアンサー

ちょっと名前を整理させて下さいませ。
親ウィンドウ→子ウィンドウ→孫ウィンドウ
という呼び名で呼ばせて頂きます。

あくまでアドバイス程度の物しかできないので何か他にいい方法があるのかもしれないですが、TENEHTさんはJavaScriptで普通の関係ならばウィンドウ制御プログラムはできる方とお見受けしますので簡単に書かせて頂きますね。

☆案1
【1】子ウィンドウに孫ウィンドウを閉じる関数を実装する。
【2】子ウィンドウ内、BODYタグのonUnloadで上記関数を実行する。
【3】親ウィンドウから子ウィンドウを閉じると孫ウィンドウが子ウィンドウによって閉じられる。

☆案2
【1】子ウィンドウに孫ウィンドウを閉じる関数を実装する。
【2】親ウィンドウから子ウィンドウ内の孫ウィンドウを呼び出す関数を実行する。
【3】親ウィンドウから子ウィンドウを閉じる。
※子ウィンドウ内の関数はssWin.○○()という形で簡単に呼び出せます。

こんな感じの実装で如何でしょうか?


人気Q&Aランキング

おすすめ情報