- PR -

変数のカウントについて

1
投稿者投稿内容
aya
会議室デビュー日: 2002/10/10
投稿数: 2
投稿日時: 2002-10-11 11:09
はじめまして、ayaと申します。
勉強として、サーブレットとJSPで商品見積システムを作成しており、
javascriptで入力有無チェックを行っています。

今回、JSP画面においてjavascriptで、商品一覧表のチェックボックスに
チェックが入っていれば、それに対応したTEXTタイプの空白チェックを行う、
という処理をしています。

以下のようにコーディングしています。
**---------------------------------------------------------------------**
 function search()
 {
  ////--商品チェック(チェックボックス)--////
  count = parseInt(document.form1.count.value); //データ件数
  kensu = 0; //チェックボックスにチェックがついている件数
  <% int t = 0;%> //変数

  if(confirm('以上の商品でよろしいですか' ))
  {
   for( i = 0; i < count; i++)
   {
    alert("t-@"= " + <%=t%>); //@

    //checkboxのチェック
    if ((document.form1.elements["check"][i].checked))
    {
     //TEXT空白チェック
     if (amount_chk(<%=db.getData("ID"+t)%>,i) == false)
     {
      return;
     }
     kensu++;
     <%t++;%>
     alert("t-A"= " + <%=t%>); //A
    }
   }
  }else{
   return;
  }
 }
**---------------------------------------------------------------------**

以上の時、変数「t」がAではプラス1されているのは確認できるのですが、
@に戻った時、アラート表示で「t」の中身を確認したところ「t-@=0」となり、
何回通っても@では常に「0」となってしまい、「t」がカウントできない状況です。

どのようにすればjavascript内でjavaの変数をカウントしていくことが出来るのでしょうか。
自分で色々と変更などして試してみましたが、どうしてもうまくいきません。
皆さんよろしくお願いします。
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2002-10-11 11:35
JavaScriptは、ブラウザが解釈し実行する
JSPは、Webサーバが解釈し実行する
です。
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2002-10-11 11:39
書き忘れましたが、
<%=t%>などは、ページが返された段階で値が固定で入ってます。
JSPから返されたページのソースをみると、

    alert("t-@"= " + 0); //@
    alert("t-A"= " + 1); //A

となってるはずです。
aya
会議室デビュー日: 2002/10/10
投稿数: 2
投稿日時: 2002-10-11 12:07
t-wataさん、早速のご返答ありがとうございます。

JSPから返されたページのソースを確認すると、ご指摘の通り、
「t」には値が固定で入っていました。

>JavaScriptは、ブラウザが解釈し実行する
>JSPは、Webサーバが解釈し実行する
まさしく、以上のことが抜けていました。
つまり、javascript内ではjavaの変数をカウントしていくことは、
解釈して実行する対象が違う為、出来ない、ということですね。

本当にありがとうございました。

入力有無チェックは、javascriptではなく、違う方法を考えてやってみます。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)