- PR -

複数の別ウィンドウへSubmitする方法

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 66
投稿日時: 2006-05-15 16:41
Javascriptでボタンを押す度に別ウィンドウを起動し、そこにSubmitしたいのですが
下記のソースでは同じ別ウィンドウに対しSubmitするため、複数ウィンドウ処理ができません。
どうすればボタンを押す度に別ウィドウを起動し、そこにSubmitできるのでしょうか。
以上、よろしくお願いします。
window.open("about:blank","myName","windowStyle");
document.formName.target = "myName";
document.formName.method = "post";
document.formName.action = "???.html";
document.formName.submit();
rviper
常連さん
会議室デビュー日: 2004/06/15
投稿数: 34
投稿日時: 2006-05-15 17:15
はじめまして
>Javascriptでボタンを押す度に別ウィンドウを起動し、そこにSubmitしたいのですが
>下記のソースでは同じ別ウィンドウに対しSubmitするため、複数ウィンドウ処理ができ>ません。

targetに固有の名前を設定すると既に同じ名前のtargetが存在する場合は、そこに対して更新を行なうことになります。毎回新しいwindowで開く場合は、targetに_blankを指定します。
詳しくはこことか見てください。

ttp://www.tohoho-web.com/js/window.htm#open
ゆう
常連さん
会議室デビュー日: 2003/06/27
投稿数: 45
投稿日時: 2006-05-15 17:40
 window.openの戻り値をグローバルに保持しておき、そのdocumentのフォームを
サブミットすることはできるみたいです。(テスト環境IE6)

 ただし、サブミット側のウィンドウが開かれるまで待たないとといけませんし、
Firefoxなどの他のブラウザでも実行できるか試していません。


【ウィンドウを開く側】
コード:
<html>
<head>
<script type="text/javascript">
var w;
function doSubmit(){
	w = window.open('submit.html');
}
function doSubmit2(){
	w.document.myForm.myText.value="test";
	w.document.myForm.submit();
}
</script>
</head>
<body>

<form name="test" method="post">
<button onclick="doSubmit();">ボタン</button>
<button onclick="doSubmit2();">ボタン</button>
</form>

</body>
</html>




【サブミットするウィンドウ】
コード:
<html>
<head>
<script type="text/javascript">
</script>
</head>
<body>

<form id="myForm" name="myForm" method="get" action="dosubmit.html">
<input type="text" name="myText"></input>
</form>

</body>
</html>

N/A
会議室デビュー日: 2006/05/15
投稿数: 2
投稿日時: 2006-05-15 17:50
子WindowのSubmitではなくて
以下のように新しいWindowをFormのTargetにしたいのではないですか?


w=window.open("about:blank","","windowStyle");
document.formName.target = w;
document.formName.method = "post";
document.formName.action = "???.html";
document.formName.submit();

ゆう
常連さん
会議室デビュー日: 2003/06/27
投稿数: 45
投稿日時: 2006-05-15 18:10
引用:

N/Aさんの書き込み (2006-05-15 17:50) より:
子WindowのSubmitではなくて
以下のように新しいWindowをFormのTargetにしたいのではないですか?



 すいません。全然見当違いでしたね。
N/Aさん、ありがとうございます。

 window.open時の第二引数に一意の文字列を指定しておいて、
それをそのままdocument.formName.targetに渡してあげれば、
それぞれの処理で複数のウィンドウが開くのではないでしょうか。

target属性
http://www.tohoho-web.com/html/attr/target.htm

[ メッセージ編集済み 編集者: 悠 編集日時 2006-05-15 18:22 ]
未記入
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 66
投稿日時: 2006-05-16 11:11
みなさんどうもありがとうございます。
教えて頂いた方法で試してみます。
1

スキルアップ/キャリアアップ(JOB@IT)