VBscriptの配列変数をJavascriptで使うには
- VBscriptの配列変数をJavascriptで使う方法を教えてください。
- 下記のソースコードを使用してVBscriptの配列変数をJavascriptで使用する方法を教えてください。
- vbscriptで値がセットされた配列変数stat2(i)をjavascriptで使用する方法を教えてください。
- ベストアンサー
VBscriptの配列変数をJavascriptで使うには
下記ソースで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>
- obone
- お礼率51% (111/215)
- JavaScript
- 回答数2
- ありがとう数4
- みんなの回答 (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>
関連するQ&A
- VBSからjavascript
下記ソースの指定の箇所からjavascriptのfunction fun1(1)をよびたいのですがどう記述したらいいでしょうか。 (ちなみにbody onload=は使わない条件です) <%@ LANGUAGE = VBSCRIPT %> <html> <head> <script type="text/javascript"> <!-- //禁止、許可 function fun1(is){ var is; var i; var jj; jj=document.form1.text2.length; for (i=0;i<jj;i++){ if (is==1) document.form1.text2[i].disabled=true; if (is==2) document.form1.text2[i].disabled=false; } } //--> </script> </head> <html> <body> <form name="form1"> <input type="text" name="text2" size="14" maxlength="8" value="ABC"> <input type="text" name="text2" size="14" maxlength="8" value="DEF"> <% <-------------------ここでfun1(1)をよびたい fun(1)と書いてもエラー >% </form> </body> </html>
- ベストアンサー
- JavaScript
- javascriptで別ファイルから変数を受け取る
って方法ありますか?あったら知りたいです。 A.htmlファイル <script type="text/javascript"> var i=0; </script> B.htmlファイル <script type="text/javascript"> h=1+i; document.write("'<p>'+h+'</p>'"); </script> もう一つ、このボタンを押したらB.htmlファイルに移り、変数も一緒に移動する方法も知りたいです。 A.html <form action="B.htm" method="post" onclick="i"> <input type="submit"value="押す" onclik=""> 変数iをBに送りたいです。
- ベストアンサー
- JavaScript
- javascriptのtextbox
こんばんは。 <html> <body> <center> <br><br> <form name="fuji"> TEXT BOX<br> <input type="text" name="tex"> </form> <SCRIPT type="text/javascript"> var i; i="ABC" document.write("<input type='button' value='↑を変数iに代入' onClick='i=(document.fuji.tex);'>"); document.write("<br><input type='button' value='表示' onClick='document.write(i);'>"); </SCRIPT> </center> </body> </html> でテキストボックスの中身を表示させたいのですが、 上手くいきません。どうすればいいのでしょうか。 また、変数を使わずに直接テキストボックスの中身を 表示させる事はできるのでしょうか。 教えてください。
- ベストアンサー
- その他(インターネット・Webサービス)
- JavaScriptでの変数で数値を使った場合の疑問
JavaScriptでの変数で数値を使った場合の疑問 <form action="sample.cgi" name="fm"> <button onclick="allInput()">全入力</button> <input size="10" type="text" name="hoge1" value=""> <input size="10" type="text" name="hoge2" value=""> <input size="10" type="text" name="hoge3" value=""> ・・・・ <input size="10" type="text" name="hoge30" value=""> </form> 上記のようなフォームがあったとします。 hoge1~hoge30まであるためにうけとる方法をforで受け取りたいのです。 <script Language="JavaScript"> function allInput() { for ( var i = 1; i <=30; i++ ) { document.fm.hoge+i.value = document.fm.hoge1.value; //上のiのところで1から30を文字列としたい } } </script> 内部的には document.fm.hoge2.value = document.fm.hoge1.value; document.fm.hoge3.value = document.fm.hoge1.value; document.fm.hoge4.value = document.fm.hoge1.value; ・・・ document.fm.hoge30.value = document.fm.hoge1.value; のようになっていきばいいのですが・・・ たとえになるかわかりませんが、Perlだと下のように$iの変数を文字列として扱えるのですが・・・ for ($i=1;$i <= 30; $i++){ ${"sample$i"} = param("hoge$i"); } よろしくお願いいたします。
- ベストアンサー
- JavaScript
- 変数と関数の使い方について質問です。
変数と関数の使い方について質問です。 現在JavaScriptを勉強しています。(超初心者ですのでバカな質問だと思いますがすみません)、変数を宣言して関数の中で使おうとしているのですが、うまく行きません。 以下のように書いて計算をしたいのですが。 <html lang="ja"> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- var moneyin = document.form1.text1.value; var moneyout = document.form1.text2.value; function zandaka(){ document.form1.text3.value=moneyin-moneyout; } --> </script> <title>簡単計算機</title> </head> <body> <h1>簡単計算機</h1> <hr> <h2>収支計算</h2> <form name="form1"> <p>収入 <input type="text" value="0" class="right" name="text1">円</p> <p>支出 <input type="text" value="0" class="right" name="text2">円</p> <p>残高 <input type="text" value="0" class="right" name="text3" onfocus="zandaka()">円</p> </form> </body> </html> 関数の中に変数の宣言をすればうまく行くのですが、関数の外で変数の宣言をすると結果がNaNになります。 なぜでしょうか?変数は関数の外でまとめてしても良いのではないのでしょうか?? この考え方自体が間違いでしょうか? バカな質問だとは思いますが、よろしくお願いいたします。
- ベストアンサー
- JavaScript
- javascriptの変数値をjspへ渡す方法?
下記の方法で、テキスト項目から、javascriptで値を取得できました。 この値を、jspの変数Stringへ格納するには、 どうすればよいでしょうか? <%= "<script type=\"text/javascript\" charset=\"UTF-8\">" %> <%= "target = document.getElementById(\"outaddress1\");" %> <%= "target.innerText = document.forms.zip_form.address1.value;" %> <%= "target = document.getElementById(\"outaddress2\");" %> <%= "target.innerText = document.forms.zip_form.address2.value;" %> <%= "target = document.getElementById(\"outaddress3\");" %> <%= "target.innerText = document.forms.zip_form.address3.value;" %> <%= "</script>" %>
- ベストアンサー
- JavaScript
- Javascriptの動的リスト作成について
Javascriptの動的リスト作成について お世話になっています。 Javascriptで選択リストを動的に変えたいと思っています。 また、Javascriptで作成したリストは、multipleとして複数選択できるようにしたいと考えています。 そこで、下記のようにスクリプトを書きました。リスト2(smallwheretag)が1つのみ選択を許すときは、うまくいったのですが、multipleにするためにnameを配列にしたところ、うまくリストが作成できなくなってしまいました。 なにかスクリプトに変更が必要なのでしょうか?ご教授お願いいたします。 <HTML部> <select name="bigwheretag[]" onchange="javascript:listChange(this.value);"> <option value="">検索項目</option> <option value="11%">自然</option> <option value="12%">街</option> <option value="13%">家庭</option> </select> <select name="smallwheretag[]" multiple> <option value="">大項目を選択して下さい</option> </select> <Javascript部> var where1_text = new Array("川", "海", "山", "滝", "その他"); var where1_value = new Array("1101", "1102", "1103", "1104", "1199"); flag1 = document.form.bigwheretag.value; if (flag1=="11%") { document.form.smallwheretag.length = where1_text.length; for(var i=0; i<where1_text.length; i++) { document.form.smallwheretag.options[i].text = where1_text[i]; document.form.smallwheretag.options[i].value = where1_value[i]; } }・・・・・・・・以下同様
- ベストアンサー
- JavaScript
- 2つのjavascriptを組み合わせたい
フォームメール用の2つのjavascriptがあります。 ●2重送信防止とデータ送信後指定ページへ遷移するjavascript ●テキストボックスが空欄だった時にアラートを表示するjavascript の2つです。 この2つを組み合わせようとしたのですが、うまく動きません。 ご指導いただきたくお願いいたします。 *************************************************** 【●2重送信防止とデータ送信後指定ページへ遷移するjavascript】【動きます】 送信ボタン押下後、2重送信を防止しながら、データ送信後は「location.href = "finish.html"」でfinish.htmlを表示します。 <script type="text/javascript" src="js/jquery.js"></script> <script> jQuery(function($) { $('#form1').submit(function(event) { // HTML送信キャンセル event.preventDefault(); //フォーム要素取得 var $form = $(this); // 送信ボタンを取得 // (後で使う: 二重送信防止) var $button = $form.find('button'); // 送信 $.ajax({ url: $form.attr('action'), type: $form.attr('method'), data: $form.serialize() + '&delay=1', timeout: 10000, // 送信前 beforeSend: function(xhr, settings) { // ボタン無効二重送信防止 $button.attr('disabled', true); }, // 応答後 complete: function(xhr, textStatus) { // ボタン有効再送信許可 $button.attr('disabled', false); }, // 通信成功処理 success: function(result, textStatus, xhr) { // 入力値初期化 $form[0].reset(); location.href = "finish.html"; }, // 通信失敗処理 error: function(xhr, textStatus, error) { alert('retry');} }); }); }); </script> <form name="form1" id="form1" method="POST" name="form1" action="insert.php"> <input type="text" name="tel" value="" /> <input type="text" name="fax" value="" /> <input type="submit" value="送信A"> </form> *************************************************** 【●テキストボックスが空欄だった時にアラートを表示するjavascript】【動きます】 テキストボックスが空欄だったらアラートを表示します。 <script> function check3() { var tel3 = document.form1.tel.value; var fax3 = document.form1.fax.value; var isValid = true; if (!tel3) { alert("電話未入力"); isValid = false; } if (!fax3) { alert("FAX未入力"); isValid = false; } if (!isValid) { return; } document.form1.submit(); } </script> <form name="form1" id="form1" method="POST" name="form1" action="insert.php"> <input type="text" name="tel" value="" /> <input type="text" name="fax" value="" /> <input type="submit" value="送信B" onclick="check3();"> </form> *************************************************** 【上記の2つを組み合わせてみました。】【動きません】 テキストボックスが空欄だったらアラートを表示しながら2重ボタン排除&finish.htmlに遷移というものです。 【結果】 「問題なく動くjavascript」2つを単純に組み合わせただけなのですが、 finish.htmlに遷移せずinsert.phpが表示されます。ご指導宜しくお願いします。 <script type="text/javascript" src="js/jquery.js"></script> <script> jQuery(function($) { $('#form1').submit(function(event) { event.preventDefault(); var $form = $(this); var $button = $form.find('button'); $.ajax({ url: $form.attr('action'), type: $form.attr('method'), data: $form.serialize() + '&delay=1', timeout: 10000, beforeSend: function(xhr, settings) { $button.attr('disabled', true); }, complete: function(xhr, textStatus) { $button.attr('disabled', false); }, success: function(result, textStatus, xhr) { $form[0].reset(); location.href = "finish.html"; }, error: function(xhr, textStatus, error) { alert('retry');} }); }); }); </script> <script> function check3() { var tel3 = document.form1.tel.value; var fax3 = document.form1.fax.value; var isValid = true; if (!tel3) { alert("電話未入力"); isValid = false; } if (!fax3) { alert("FAX未入力"); isValid = false; } if (!isValid) { return; } document.form1.submit(); } </script> <form name="form1" id="form1" method="POST" name="form1" action="insert.php"> <input type="text" name="tel" value="" /> <input type="text" name="fax" value="" /> <input type="submit" value="送信B" onclick="check3();"> </form>
- ベストアンサー
- JavaScript
- jspからjavascriptの変数引継ぎ
jspでデータベースからデータを取ってきて格納した配列をjavascriptでも同じように変数として扱いたいのですがどうすればいいでしょうか? javascriptによってオンマウス時に枠がポップアップし、javascript内で設定した文字を枠内に表示しようとしているため、jspからデータを引き継ぎたいのです。 jspではtitleとhonbunは配列で <form name="form_title"> <input type="hidden" name=title value="<%= title %>" > </form> <form name="form_honbun"> <input type="hidden" name=honbun value="<%= honbun %>" > </form> このように名前をつけ、javascriptでは var taitoru[]= document.form_title.title.value; var honbun[]= document.form_honbun.honbun.value; このように変数に代入しています jsp側ではSPANでオンマウス時にjavascriptを呼び出し、javascriptでは文字が配列のhonbun[0]等をポップアップした枠の中で表示させるようにさせたいのですが 枠そのものがポップアップしません 上記のjavascriptでの変数への代入部分をコメントアウトすると、枠自体は表示されます 配列を丸ごとjavascriptで配列に代入できないのであれば、1データずつ引き継ぐという方法でもいいのですが、どのようにjavascript側で代入すればいいのでしょうか?
- 締切済み
- JavaScript
- JavaScriptの値を、cgiに渡す方法を教えてください。
JavaScriptの値を、cgiに渡す方法を教えてください。 jsファイルの変数に、テキストボックスの入力値が入っています。 それを、cgiに渡して、その変数の値を、ファイルに 書込みたいと考えています。 __test.html_________ <head><script src="keep.js"></script></head> <form name="f1" action="keep.js"> <input type="text" name="a_text"> <input type="button" value="クリック" onclick="keep()"> </form> _________________________ ___keep.js_______________ function keep() { var a_text = document.f1.a_text.value; ■この変数「a_text」をcgiファイルに渡したいです。 } __________________________ __●.cgi_______________ ■なんだかの方法で、上記keep.jsの変数、a_textを取得して、 この●.cgiでファイルをopenして、a_textの値を 書込みたいです。 ______________ よろしく、お願いします。
- ベストアンサー
- JavaScript
お礼
ありがとうございました。サーバサイド側で処理を行ってからなので考えてみます。