![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
下記ソースでVBscriptの配列変数をJavascriptで使うにはどうしたらいいでしょうか。
vbscriptで配列stat2(i)に値セット後javascriptで使いたい
<script type="text/javascript">
<!--
//=====
function test(){
var i;
for (i=0;i<9;i++){ document.form1.text1[i].value=<%=stat2(i)%>; <-これだとエラー
}
}
//======
//-->
</script>
No.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エレメントなどに設定しておいて
このデータを分割、各テキストボックスへのデータの代入
といった処理が必要でしょう
No.1
- 回答日時:
よーく考えましょう
サーバサイドのスクリプトとクライアントサイドのスクリプトが同時に動くことはありませんよ
<% %>でくくられたサーバサイドのスクリプトが実行されるのは
ページを構築している段階です
これに対して クライアントスクリプトの実行される段階は
何かのアクション等に対してこの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>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript jsで、配列内の文章を改行する際どのようにすればいいですか。 3 2022/07/05 20:40
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TextBoxに半角数字以外を入れた...
-
開いたサブウインドウから値を...
-
JavaScriptで作ったアプリが正...
-
JSPでonChangeを強制発行するに...
-
VBscriptの配列変数をJavascrip...
-
tabindexの取得
-
jQueryのdatepickerの日付が選...
-
[JavaScript]ボタンを押下する...
-
プルダウン 項目が多いので先頭...
-
一覧から選択した行の行番号を...
-
Selectボックスの幅を自動で広...
-
VBSでブラウザ上のテキストボッ...
-
クリックさせたいが、click()が...
-
javascriptで<table>背景色の取得
-
onchangeイベントを強制的に発...
-
別ページからOnclickでテーブル...
-
特定<table>内の<td>の色を変える
-
JavaScriptde途中で、「exit」...
-
チェックボックスの設定
-
name属性が同じフォームが複数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TextBoxに半角数字以外を入れた...
-
ページ間で変数を保持したい
-
HTMLファイル同士での値渡し
-
tabindexの取得
-
プルダウンで選択された値を別...
-
マイナスなら赤字で表示したい...
-
フォームの内容でリンク先URLの...
-
テキストエリアに履歴を残したい
-
テキストボックスに入力した色...
-
どちらかひとつのテキストボッ...
-
HTMLとJavaScriptで作った表示...
-
イベント発生順序
-
GetElementByIdがうまく取得で...
-
VBSからjavascript
-
VBScriptでpingを実行(ブラウザ...
-
JSPでonChangeを強制発行するに...
-
VBscriptの配列変数をJavascrip...
-
大文字か小文字かを判断する方法
-
javascriptのちょっとした動作...
-
JavaScriptの値を、cgiに渡す方...
おすすめ情報