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

子画面(showModalDialogでオープン)で親画面から渡された引数を利用したいです。
親は配列を渡して、子はその配列の中身を参照したいです。

下記の例でやると、「エラー:型が一致しません。:'window.dialogArguments'」と、(1)の所で言われてしまいます。

色々探したのですが、JavaScriptの例や配列ではない場合の例ばかりでJVScriptの場合のやりかたがわかりません。
どなたか教えてください。

親画面
<script language="vbScript">
<!--
dim arg(20)

arg(1) = "Value1"

arg(1) = "Value20"

window.showModalDialog "ko.html",arg
-->
</script>

子画面
<script language="vbScript">
<!--
dim arg(20)

arg = window.dialogArguments・・・(1)

Msgbox arg(1)
-->
</script>

A 回答 (3件)

>回答していただいたソースをそのまま、


>実行してみると
変ですね。
document.appendChild
はIE5.5で正常に機能するはずなんですが、

私のは
WindowsXP+IE6Sp1
WSHのバージョンは5.6です。

全ソースは

親----
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=s-jis">
<SCRIPT LANGUAGE=vbscript>
<!--
dim elminput(20)
'VBの変数を直接渡せないので
'インプットタグを使用する
for i=0 to 19
set elminput(i) = document.createElement("INPUT")
next
Sub button1_onclick
elminput(1).value = "Value1"
window.showModalDialog "ko.html",window
End Sub
Sub window_onload
for i=0 to 19
document.appendChild elminput(i)
next
End Sub
-->
</SCRIPT>
</HEAD>
<BODY>
<P>ファイトーー!( ゜ロ゜)乂(゜ロ゜ )イッパーーツ!!<BR>がんばってね。 </P>
<P>
<INPUT id=button1 type=button value=クリック name=button1></P>
<P></P>
</BODY>
</HTML>

子---

<HTML>
<HEAD>
<TITLE></TITLE>
<script language="vbScript">
dim arg(20)
arg(1) = dialogArguments.elminput(1).value
window.alert arg(1)

</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

です。

>別の部分でFileSystemObjectを
>利用するためHTAを利用しようと思っています。
HTAでも機能しましたよ。
    • good
    • 0

タイプミスしました。




<script language="vbScript">
dim arg(20)
arg(1) = dialogArguments.elminput(1).value
window.alert arg(1)
</SCRIPT>

です。

この回答への補足

御回答ありがとうございます。
回答していただいたソースをそのまま、実行してみると「エラー:オブジェクトでサポートされていないプロパティまたはメソッドです。:'document.appendChild'」と言われてしまいます。利用するのに何か宣言等必要なのでしょうか?

ちなみに、実行環境はWinMe,IE5.50SP2です。
親子画面とも、ローカルドライブ上においてローカルアプリケーションを作成しています。
質問には影響しないと思いますが、別の部分でFileSystemObjectを利用するためHTAを利用しようと思っています。

補足日時:2003/09/15 12:54
    • good
    • 0

親ウィンドウで


配列タグを作成して、そのタグのValue値を使用してはどうでしょうか。


<SCRIPT LANGUAGE=vbscript>
<!--
dim elminput(20)
for i=0 to 19
set elminput(i) = document.createElement("INPUT")
next
Sub button1_onclick
elminput(1).value = "Value1"
window.showModalDialog "ko.html",window
End Sub
Sub window_onload
for i=0 to 19
document.appendChild elminput(i)
next
End Sub
-->
</SCRIPT>


<script language="vbScript">
dim arg(20)
arg(1) = dialogArguments.emlinput(1).value
window.alert arg(1)

</SCRIPT>
    • good
    • 0

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