別ウィンドウへのsubmitの挙動がおかしいです
はじめまして。
ページ内の押下したボタン/リンクに応じて、それぞれ別の新しいウィンドウにフォームの値を渡して処理を行うプログラムを作成しています。
リンク1押下→ウィンドウAを開く→アドレス1に遷移
リンク2押下→ウィンドウBを開く→アドレス2に遷移
ボタン3押下→自画面でアドレス3に遷移
フォームは共通で、JavaScript内でウィンドウ及びアクションの指定を行っています。
しかし、実際に動かしてみると、以下の問題が起こりました。
・ウィンドウを開いた後、いつまでも遷移しない(する時もある)
・ウィンドウを開いた後、意図しないアドレスに遷移することがある
具体的には、新規ウィンドウで、現在開いているアドレスへの遷移
・フォームの値が送信されないことがある(する時もある)
いろいろ調べてみたのですが、原因がわかりません。
お力を貸していただけないでしょうか。
文末に抜粋したソースを掲載します。
ブラウザはIE7、関連あるかは分かりませんが、PHPとsmartyを使っています。
宜しくお願いいたします。
【JavaScript部分】
function action1(){
document.form.action = "http://www.yahoo.co.jp"
document.form.target = "_self";
document.form.submit();
}
function action2(){
window.open("", 'win2', 'width=400, height=300');
document.form.action = "http://www.google.co.jp"
document.form.target = "win2";
document.form.submit();
}
function action3(){
window.open("", 'win3', 'width=400, height=300');
document.form.action = "http://www.msn.co.jp"
document.form.target = "win3";
document.form.submit();
}
【HTML部分】
<form name="form" method="post" action="">
<input type="text" name="text1" value="">
<a href="javascript:action2();">リンク1</a>
<a href="javascript:action3();">リンク2</a>
<input type="button" value="ボタン3" onClick="action1()">
</form>
お礼
あ、そうだったんですね! 基本的なことですみません。 ありがとうございます。 試してみます。