none
Template内のCustomValidatorについて(クライアント処理) RRS feed

  • 質問

  • お世話になっています。

     

    以前「Template内のCustomValidatorについて」という件名でチェックしたい行が何行目なのかを

    知る方法が以下↓のURLにありますが、クライアント(JAVASCRIPT)を使用した場合をご教授

    下さい。

    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=666346&SiteID=7

     

    本来行いことはGRIDVIEWのTemplate内に配置したCHECKBOXを参照し、CHECKBOXがチェック

    されている行のテキスト内容をCustomValidatorでチェックしてOKだったらDBに更新する。み

    たいな処理にしたいのですが。

     

    宜しくお願いします。

    2007年12月17日 8:17

すべての返信

  • JAVASCRIPTはよくわかっていませんが、自分なりにできるところまではコードを書いてみま

    したが、CustomValidatorから渡ってくるパラメーターから、今何行目をチェックしているかを

    知る為にはどのようにすればいいかわかりません。又、素人の為checkboxのチェック部分をsw

    itchを使い何行目かを判断しているのですがもっとすっきりとしたコーディングがあれば合わ

    せてご教授お願いします。

     

    // 文字列長をチェックするValidator
    function CValidator(source, arguments) {
        if ( chkchk(XXXXX) ) {   ←ココでchkchk()に引き渡すパラメータがわからない
          var len = val.length;
                
          if (len == 0) {
              //window.alert("エラー");
              arguments.IsValid = false;
           return;
          }
        } else {
            return;
        }
    }
     
    // checkboxのチェック gridviewの最大表示9行
    function chkchk(flg) {
     switch(flg) {
      case 1:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl02$CheckBox1').checked;
      case 2:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl03$CheckBox1').checked;
      case 3:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl04$CheckBox1').checked;
      case 4:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl05$CheckBox1').checked;
      case 5:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl06$CheckBox1').checked;
      case 6:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl07$CheckBox1').checked;
      case 7:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl08$CheckBox1').checked;
      case 8:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl09$CheckBox1').checked;
      case 9:
          return document.getElementById('ctl00$ContentPlaceHolder1$GridView1$ctl10$CheckBox1').checked;
      default:break;
     }
    }

    2007年12月21日 2:10