電子書籍の厳選無料作品が豊富!

Javascriptでの小画面表示を閉じた場合の親画面の挙動

現在、以下のロジックで親画面から子画面を呼んでいます。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
winAAA = window.open("","winAAA","menubar=no,status=yes,scrollbars=yes,width=600,height=800,resizable=yes");
document.AAA_Form.action="BBB.do";
document.AAA_Form.target="winAAA";
document.AAA_Form.submit();
winAAA.focus();
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

window.close();を使い、子画面の閉じるボタンで子画面を閉じているのですが、
なぜか、親画面の他ボタンを押下するとwindow.openしてない画面遷移のはずが、
新規子画面で立ち上がってしまいます。

原因がわかる方、ご教示お願いいたします。

動作環境は、以下となります。
OS:XP
IE:IE8

A 回答 (3件)

こんにちは。



document.AAA_Form.target="winAAA"を指定してサブウィンドウを開くと閉じたあともdocument.AAA_Form.targetはwinAAAに向いたままです。

なので他のボタン押下でsubmitする際にwinAAAに向けて実行しているのだと思います。
閉じたらtargetを戻すか、送信前に戻さないとダメです。

違っていたらすみません。

この回答への補足

他ボタンでもwinAAAにむけて実行されてしまうのですね。

document.AAA_Form.target="_self";
を追加してみます。

補足日時:2012/05/23 13:17
    • good
    • 0
この回答へのお礼

解決しました。
有難う御座います。

お礼日時:2012/05/23 15:15

全体がどうなっているのか、ご提示のコードはいつ実行されるのかよくわかってませんが、




同じformに関しての質問ですよね?

ご提示のコード実行後はサブミットすれば
<form name="AAA_Form" target="winAAA" action="BBB.do" method="post">
を実行することになりますので、別ウィンドウで開くのが通常の仕様のはずですが?


>ボタンを押下するとwindow.openしてない画面遷移のはずが
違うformのことをおっしゃっているのであれば、別のスクリプトで似たようなことをしていませんか?
あるいは、別formのつもりが同じものになっているとか。
「ボタン」がサブミットボタンなのかも不明ですが、ボタンのデフォルトがサブミットになっている場合がありますので、同様のことがおこり得ます。

この回答への補足

同じフォームを使用しています。
情報不足で申し訳ありません。

ボタンは全てサブミットボタンです。

補足日時:2012/05/23 13:08
    • good
    • 0
この回答へのお礼

解決しました。
有難う御座います。

お礼日時:2012/05/23 15:15

掲示されているロジックが呼ばれているとしか思えませんが。

。。
掲示されているロジックの window.open 行の直前に alert してみたらどうですか。このロジック通っているかどうかはっきりします。

この回答への補足

回答有難う御座います。
alert入れてみても同じロジックは呼ばれては居ないです><

補足日時:2012/05/23 11:35
    • good
    • 0
この回答へのお礼

解決しました。
有難う御座います。

お礼日時:2012/05/23 15:15

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