- ベストアンサー
他のwindowをcloseしたい
- SUBMITボタンを押すと立ち上がる「WINDOW1」を閉じる方法を知りたい
- window.close()ではSUBMITボタンがあるwindowが閉じてしまい、WINDOW1だけ残る
- どうすれば「WINDOW1」を閉じることができるのか悩んでいる
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> この場合は この前にWin1と指定してあげればいいのでしょうか? いや、駄目ですよ。 私の書いた回答の win1 は、ただの変数名で何でもいいんです。 その win1 が何を指しているか、が重要なんです。新しく開いたウィンドウを 指しているのよ、ということをしているのが a-kuma> win1 = window.open(なんとかかんとか); のところなんです。 前に似たようなことをしたことがありますが、そのときはこんな小細工をしました。 var win1; /* SUBMIT ボタンの onClick で呼出される関数 */ function open_window() { /* 先にブランクのウィンドウを開いておく */ win1 = window.open("about:blank", "WINDOW1", サイズとかなんとか); ... document.form[0].target="WINDOW1"; document.form[0].submit(); } /* ウィンドウを閉じるとき */ win1.close();
その他の回答 (1)
- a-kuma
- ベストアンサー率50% (1122/2211)
window.open() は、その返り値として、開いたウィドウを差すオブジェクトを 返します。それに対して、close() メソッドを発行すれば期待通りになるでしょう。 var win1; /* 開くとき */ win1 = window.open(なんとかかんとか); /* 閉じるとき */ win1.close();
お礼
すいません、できませんでした。 開く方の記述 win1 = document.forms[0].target="WINDOW1"; 閉じる方の記述 win1.close(); ではだめなのですね。。。 しくしく・・・・・。。
補足
さっそくの回答ありがとうございます。 ウィンドウを開く際に、window.open ではなく SUBMITボタンからonClickで関数を呼び出し 関数の中で document.forms[0].target="WINDOW1"; としています。 この場合は この前にWin1と指定してあげればいいのでしょうか? 試しにやってみます。結果は後ほど・・・・
お礼
できました。ありがとうございます。 上記の方法 バッチリです。 今後ともよろしくお願いします。