プロが教える店舗&オフィスのセキュリティ対策術

親画面でテキスト入力した内容を、
showModalDialogで開いたポップアップの子画面で表示して、更にHiddenで値を持たせたいんですが、上手く出来ないんです...

(親側制御)
val = test.asp
args = new Array();
args[0] = document.FRM00.txtUSRID.value;
args[1] = document.FRM00.work_date.value;
ret = window.showModalDialog(val,args);

(子画面制御)
Private myUser
myUser = window.dialog.arguments[0].value;
myTargetDate = window.dialog.arguments[1].value;


子画面で、VBScriptで宣言した変数へ格納しようとしてるのですが、やっぱり無理なんでしょうか?
もし無理なら、何か他に手はないのでしょうか???

A 回答 (3件)

dialogArgumentsはJavaScriptのプロパティですので


<Script>内で使用しなくてはいけません。

あとはNo.1の方のおっしゃるとおり、
window.dialog.arguments[0].value;
ではなく
window.dialogArguments[0];
ですね。

(子画面側ソース)
<HTML>
<Head>
<Script Language="JavaScript">
<!--
myName = window.dialogArguments[0];
myTel = window.dialogArguments[1];
//-->
</Script>
<Title>PopUpTest</Title></Head>
<Body>
<Center>
<Script Language="JavaScript">
<!--
document.write("名前:"+myName+"<BR>");
document.write("Tel:"+myTel);
//-->
</Script>
</Center>
</Body>
</HTML>
    • good
    • 0
この回答へのお礼

上手く出来ました!
有難うございますー\(^o^)/

お礼日時:2003/02/26 17:04

Javascriptでやるのであれば、



(親側制御)
window.open(val);

(子画面制御)
myUser = opener.document.FRM00.txtUSRID.value;
myTargetDate = opener.document.FRM00.work_date.value;

この回答への補足

普通にopenwindowではポップアップにならないので、
ダメなんです。
書いた親子ソースを記載しますので、何かお気づきの点がありましたら、教えて下さい!!


(親画面側ソース)
<HTML>
<Head><Title>てすとぺーじ</Title>
<Script Language="JavaScript">
<!--
function popuptest(){
val = "test2.asp";
args = new Array();
args[0] = document.FRM00.txtName.value;
args[1] = document.FRM00.txtTel.value;
ret = window.showModalDialog(val,args);
}
//-->
</Script>
<Head>
<Body>
<Form Name="FRM00">
名前<Input type="text" name="txtName"><BR>
Tel<Input type="text" name="txtTel"><BR>
<Input type="button" value="確認" onClick="popuptest()">
</Form>
</Body>
</HTML>


(子画面側ソース)
<%
Private myName
Priavte myTel
myName = window.dialog.arguments[0].value;
myTel = window.dialog.arguments[1].value;
%>
<HTML>
<Head><Title>PopUpTest</Title></Head>
<Body>
<Center>
名前:<% =myName %><BR>
Tel:<% =myTel %>
</Center>
</Body>
</HTML>

補足日時:2003/02/25 23:42
    • good
    • 0

>myUser = window.dialog.arguments[0].value;


>myTargetDate = window.dialog.arguments[1].value;

上の記述を

myUser = window.dialogArguments[0];
myTargetDate = window.dialogArguments[0];

に変えてみてください。
私の環境では動作しました。

お試しください。

この回答への補足

dialigとargumentの間のドットを取れば良いのでしょうか?

補足日時:2003/02/25 23:33
    • good
    • 0

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