- ベストアンサー
子画面へデータを渡したい!
親画面でテキスト入力した内容を、 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で宣言した変数へ格納しようとしてるのですが、やっぱり無理なんでしょうか? もし無理なら、何か他に手はないのでしょうか???
- みんなの回答 (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>
その他の回答 (2)
- todo36
- ベストアンサー率58% (728/1234)
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>
- wo-007
- ベストアンサー率68% (15/22)
>myUser = window.dialog.arguments[0].value; >myTargetDate = window.dialog.arguments[1].value; 上の記述を myUser = window.dialogArguments[0]; myTargetDate = window.dialogArguments[0]; に変えてみてください。 私の環境では動作しました。 お試しください。
補足
dialigとargumentの間のドットを取れば良いのでしょうか?
お礼
上手く出来ました! 有難うございますー\(^o^)/