プロが教えるわが家の防犯対策術!

ブウィンドウを開く時に親ウィンドウからフォームの値を変数として渡し
スプリクトを実行したいのですがやり方が解りません。
どなたか教えて頂けませんでしょうか?

下記のソースだとうまくいきません
newWin = window.open("xxx.php3","SubWindow","left=400,top=100,width=300,height=400");

A 回答 (3件)

意外と、悩ましいんですよね、これ。

私も経験あります。

一旦、空白のウィンドウを開いておいて、それをターゲットにして submit すれば良いです。
雰囲気は、こんな感じ。

function do_submit(form) {
window.open("about:blank","SubWindow","left=400,top=100,width=300,height=400");
form.submit();
}

<form target="SubWindow" onSubmit="do_submit(this)">
...

この問題に関係の無いところは省略してあります。また、試してないので、細かい
ところが間違っている可能性があります。

この回答への補足

a-kumaさん、ご回答ありがとうございます。
回答内容は理解出来ました。

質問内容を補足させていただきますと、
今回やろうとしているのはsubmit時のアクションではなく
フォーム内に補助画面表示ボタンを押された場合のアクションです。

この場合の対応方法はご存知でしょうか?
よろしくおねがいします。

補足日時:2001/11/15 13:31
    • good
    • 0

こんにちはsumomo0423さん、xruzです。


こんな感じでしょうか?

親[mvval1.html]
<html>
<head>
<title>oya</title>
</head>
<script language="JavaScript">
<!--
function winOpen() { // サブを開く
var wid=window.open("mvval2.html","SubWindow","left=400,top=100,width=300,height=400");
}
function sendVal(f2) { // サブへ転送
f2.t2.value=document.f1.t1.value;
}
//-->
</script>
<body>
<form method="post" name="f1">
<input type="text" name="t1">
<input type="button" value="open" onClick="winOpen();">
</form>
</body>
</html>

子[mvval2.html]
<html>
<head>
<title></title>
</head>
<script language="JavaScript">
<!--
function st() { // 値転送後サブを実行
alert(document.f2.t2.value);
}
//-->
</script>
<body onLoad="opener.sendVal(document.f2);st();">
<form method="post" name="f2">
<input type="text" name="t2">
</form>
</body>
</html>

がんばってくださいね(~:~i

この回答への補足

xruzさん、ご回答ありがとうございます。
おかげさまでだいぶ解ってきました。
もう少し教えてください。

サブウィンドウを開いた時点で受け取った変数をパラメタとしてスプリクト(php)を
実行して処理結果を表示させるにはどうしたらよいでしょうか?

補足日時:2001/11/19 14:09
    • good
    • 0

こんにちはsumomo0423さん、xruzです。


>受け取った変数をパラメタとしてスプリクト(php)を実行して処理結果を表示させるには
なるほど。。。そうですか??

こんな感じですか?

子[mvval2.html]
<html>
<head>
<title></title>
</head>
<script language="JavaScript">
<!--
function st() { // 値転送後サブのsubmitを実行
document.f2.submit();
}
//-->
</script>
<body onLoad="opener.sendVal(document.f2);st();">
<form action="****.php" method="post" name="f2">
<input type="text" name="t2">
</form>
</body>
</html>

たぶん(?)これでいいはずなんですが、がんばってくださいね(~:~i
    • good
    • 0
この回答へのお礼

おぉ~!
出来ました!
完璧です。

ありがとうございました。
便乗で申し訳ないですがこっちの質問も見ていただけますか?
http://oshiete1.goo.ne.jp/kotaeru.php3?q=169048
よろしくお願いします。

お礼日時:2001/11/20 10:03

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