JavaScriptの変数をJavaの変数に代入する方法とは?

このQ&Aのポイント
  • jspで作ったプログラムがある場合、JavaScriptの変数をJavaの変数に代入する方法はありますか?
  • 上記の場合、変数iの(JavaScript)値をjavaの変数iに代入するにはどうすれば良いですか?
  • チェック関数内で、変数sの値とdocument.form1.desc.valueを比較して、一致する場合には'Bです'と表示したいです。
回答を見る
  • ベストアンサー

javaScriptの変数をJavaの変数に代入する。

jspで作ったプログラムがあるこのような場合変数を共有する方法はありますでしょうか? 以下の場合iの(JavaScript)値をjavaの変数iに代入したい場合どうすればいいでしょうか? <%! String s[] ={A,B,C,D,E} %> function chek(){ for(i = 0;i< 5 ;i++){ <%! int i =%> = i;//←この部分です //document.form1.desc.valueにはBの値が入っている if(<%! s[i] %> == document.form1.desc.value){ alert("Bです"); } }

質問者が選んだベストアンサー

  • ベストアンサー
  • ryou0607
  • ベストアンサー率27% (71/261)
回答No.1

for文をJSPで記せばよいかと思います。 <% for(i=0;i<5i++){ %> if(<%! s[i] %> == document.form1.desc.value){ alert("Bです"); } <% } %>

dragon_cyber
質問者

お礼

最初に御礼をするのを忘れてました。 ryou0607さんありがとうございました さいしょのしつもんはなんとかかいけつしました。

dragon_cyber
質問者

補足

以下の場合は? JavaScriptの変数をjavaのメソッドの引数に渡すことはできますか? <%@ page contentType="text/html; charset=Windows-31J" %> <%! String chek(String a){ String st = a; return st; } %> function chek(){ var a1 = "abcd"; var a2= "<%=this.chek(%>ai<%=)%>"; alert(a2); }

関連するQ&A

  • 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の変数をjavaのメソッドの引数に渡す

    JavaScriptの変数をjavaのメソッドの引数に渡すことはできますか? <%@ page contentType="text/html; charset=Windows-31J" %> <%! String chek(String a){ String st = a; return st; } %> function chek(){ var a1 = "abcd"; var a2= "<%=this.chek(%>ai<%=)%>"; alert(a2); }

  • 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側で代入すればいいのでしょうか?

  • jsp~jspにhiddenを使って変数を飛ばしたい

    jspを勉強しています。 変数に代入した値をhiddenを使い飛ばしたいのですが、 うまくいきません。 String keyID = "123456"; <input type="hidden" name="S_id" value="keyID" /> 例えばこのような形で変数keyIDに値を代入して、hiddenで飛ばして 飛び先のjspで変数keyIDの値を取得したいのです。 どなたかアドバイスいただけるとありがたいです。

  • なぜ?グローバル変数に代入できません!

    お世話になります。 以下、例文です。 flag = new Array();//グローバル変数として用意 function selectCount() { for (count = 0; count <= document.form1.length - 1; count++) { if (form1.elements[count].type == "select-one") { itemflag[count] = true; alert(itemflag[count]); } } alert(itemflag[1]+'aa'); } <body onLoad = "selectCount();"> htmlの中にあるselectオブジェクトの数を調べ、 その数の分フラグを作成し、true指定するメソッドを作成したつもりです。 しかし、for文を抜けたところにalertを置き、実際に trueが代入されているか調べたところ、値はundefineになってしまいました。for文内で値が代入されていることは確認されているにも関わらず、です。 なぜでしょうか?for文でのtrue、false指定は,for文外では機能しないのでしょうか? ご存じの方いらっしゃいましたら、ご教授宜しくお願い致します。

  • javaの変数又はデータの共有 

    jspで作ったプログラムがあるこのような場合変数を共有する方法はありますでしょうか? <%@ page contentType=\"text/html; charset=Windows-31J\" %> <%  String c =あいうえお;  %>//javaの変数 <html><head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-31J\"> <title>****</title> <SCRIPT LANGUAGE=\"JavaScript\"> <!-- function chek(){ alert(c); //JavaScriptの変数 } // --> </SCRIPT> </head> ・・・・・・中略・・・・・・ </body> </html>

  • 代入ができない。(undefined)

    環境:XP SP2, IE6/php, html, javascript submitした際にjavascriptの関数(getNo())が呼ばれ、その関数内で代入ができず参っています。 .php ----- <? $setNo = [111,222,333,444,555]; for($i=0;$i<5;$i++) {?> <input type="text" name="no[<?=$i;?>]" value="<?=$setNo[i];?>" id="no"> <?}?> (submit省略) .js ----- function getNo(obj) { var orgNo = document.all("no"); var bufNo = ""; //初期化空 //var bufNo ; //初期化しないと※1 //var bufNo = "huga";//初期化"huga"※2 for(var k=0; k<orgNo.length; k++) {  alert(orgNo[k].value);//k=0なら111と表示される bufNo = orgNo[k].value;//代入してるのに alert(bufNo='+bufNo); //空のまま →代入されてない なぜ?? //alert(bufNo='+bufNo);//※1undefined→代入されてない //alert(bufNo='+bufNo);//※2huga→代入されてない alert(orgNo='+orgNo[k].value);//k=0のときなら111と表示される } .jsには他にもsubmitから呼ばれている関数があり それらは正常に動作しますが、この関数だけおかしいので 書き直してみたりしましたが改善されません。 また、関数内で配列も宣言してますが、 配列要素にfor文のiなどを[i]のようにいれても、配列の値がうまく変数に代入できません。 ただし、[0]や[2]と指定すると正しい値が表示され、代入もできます。 undefinedになることが問題なのではなく 代入されない理由がわかりません。 どういうことになっているのか教えてください。

  • カラーを変数に代入したい。

    質問させてください。 jspのプログラムなのですが、HTMLの配色を変数に代入して使いたかったので、こちらに質問させていただきました。 //バックカラー格納変数 String HaCol = "#ffb6c1"; String ShuCol = yellow; 例えばこんな感じで、変数に代入して、 out.println("<td bgcolor=HaCol >" + RESTDAYS + "</td>"); out.println("<td bgcolor=ShuCol >" + STATUS + "</td>"); こんな感じて代入した色を取り出したいのですが、上手くいきません。 どなたか詳しい方、いましたらご指導宜しくお願いします。

    • ベストアンサー
    • HTML
  • JavaScriptで特定の変数に値が代入されるのを禁止する。

    JavaScriptで、既存の変数に値を代入し、その後の上書き(その変数への値の代入)を禁止するにはどのようにすればよいでしょうか。 <script type="text/javascript"><!-- var hoge = "hogeは初期化されてます"; hoge = "hogeは変更されました";//ここ以降での変更(代入)を禁止したい。 hoge = "hoge変更2回目"; alert(hoge); //--></script> というスクリプトを書いたときに、alert(hoge)で「hogeは変更されました」と表示させたいのです。 他の方法は駄目です。この方法だけでお願いします。 よろしくお願いします。

  • 計算結果を変数に代入

    とあるサービスの料金計算フォームを制作しています。 特定の場合のみ料金が割引されるので、if構文で条件分岐してみたところ、 計算結果(小計)にはうまく反映されるのですが、いくつかの小計を合計すると、 if構文で分岐する前の(つまり割り引き前の)値段で計算されてしまいます。 // 小計1 var total_01 = document.form_test.price_01.options [document.form_test.price_01.selectedIndex].value * document.form_test.goods_01.options [document.form_test.goods_01.selectedIndex].value + document.form_test.price_02.options [document.form_test.price_02.selectedIndex].value * document.form_test.goods_02.options [document.form_test.goods_02.selectedIndex].value ; // 小計1 document.form_test.F-total_01.value = total_01; // 小計1を表示 if (document.form_test.price_01.options [document.form_test.price_01.selectedIndex].value != 0 && document.form_test.price_02.options [document.form_test.price_02.selectedIndex].value != 0) {document.form_test.F-total_01.value = total_01 - 500;} // 両方で-500 if (total_01 <= 0) {document.form_test.F-total_01.value = 0;} // 合計 var total_all = total_01 + total_02 + total_034; // 合計 document.form_test.F-total_all.value = total_all; // 合計を表示 小計を表示する <INPUT TYPE="text" NAME="F-total_01" VALUE="0"> に出てきた値を、そのまま次の計算に代入できれば 解決するのではないかと思うのですが、行き詰ってしまいました。 どうかアドバイスをよろしくお願いいたします。

専門家に質問してみよう