- ベストアンサー
VBscriptの配列変数をJavascriptで使うには
- VBscriptの配列変数をJavascriptで使う方法を教えてください。
- 下記のソースコードを使用してVBscriptの配列変数をJavascriptで使用する方法を教えてください。
- vbscriptで値がセットされた配列変数stat2(i)をjavascriptで使用する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
サーバーサイドスクリプトのオブジェクト(変数など)をクライアントサイドスクリプトで使うことはできません %で括られているブロックはWebサーバー上で実行される部分です <script type="text/javascript"> </script> の部分はページを閲覧しているクライアント上で実行されます 両者に共有する部分はありませんよ クライアント側だけで実行すればいいのでは? <script type="text/javascript"> <!-- var stat2; // stat2の初期化ルーチン function myload() { stat2 = new Array(10); for( var i = 0; i < stat2.Length; i++ ) { stat2[i] = i+1; } } // SELECTのonchangeイベント function test() { for( var i = 0; i < stat2.length; i++ ) { document.form1.text1[i].value = stat2[i]; } } window.onload = myload; //--> </script> といった具合ですが ... サーバサイド側で何らかの処理を行ってその結果をクライアント側に反映したいのであれば hiddenエレメントなどに設定しておいて このデータを分割、各テキストボックスへのデータの代入 といった処理が必要でしょう
その他の回答 (1)
- redfox63
- ベストアンサー率71% (1325/1856)
よーく考えましょう サーバサイドのスクリプトとクライアントサイドのスクリプトが同時に動くことはありませんよ <% %>でくくられたサーバサイドのスクリプトが実行されるのは ページを構築している段階です これに対して クライアントスクリプトの実行される段階は 何かのアクション等に対してこのJavaScriptの関数が呼び出された時点です この2つのタイミングはまったく違う時期ですし、実行される場所も違います ご希望のことがやりたいならフォームの中のinputタグを <input type="text" name="Text1" value="<%= stat2(0) %>"> <input type="text" name="Text1" value="<%= stat2(1) %>"> <input type="text" name="Text1" value="<%= stat2(2) %>"> <input type="text" name="Text1" value="<%= stat2(3) %>"> <!-- 同様に8まで設定する --> <input type="text" name="Text1" value="<%= stat2(8) %>"> といった具合でしょう
補足
説明不足ですみません。 全体は下記のような感じです。 SELECTのONCHANGEでJAVASCRIPT中でVBSでセットした値を使いたいのです。 test.asp <%@LANGUAGE=VBScript%> <% Dim stat2(1) Dim i for i=1 to 10 stat2(i)=i next %> <html> <head> <script type="text/javascript"> <!-- //===== function test(){ var i; for (i=0;i<9;i++){ document.form1.text1[i].value=<%=stat2(i)%>; <-これだとエラー } } //====== //--> </script> </head> <html> <body> <select name="name" onchange="test()"> <option .....> </select> <input type="text" name="text1"> <input type="text" name="text1"> <input type="text" name="text1"> <input type="text" name="text1"> <input type="text" name="text1"> <input type="text" name="text1"> <input type="text" name="text1"> <input type="text" name="text1"> <input type="text" name="text1"> <input type="text" name="text1"> </body> </html>
お礼
ありがとうございました。サーバサイド側で処理を行ってからなので考えてみます。