具体代码如下:
我想通过下面的代码来获取我页面中gridview中的label控件中的值,最后采用循环的方式来获取,但最后在红色字体的地方怎么也取不到我要的控件。
iRow始终都显示的是iRow,没有具体的值。
我通过断点调试过,能够看到iRow当时是被赋值过的,但是 strLabelVOC 结果等于null。
   //在txtHijyu焦点失去的时候计算VOC% VOC总量
     function txtHijyu_LoseFocus() {
         var obj = document.getElementById("txtHijyu"); //记录比重文本框
         var objVOCPer = document.getElementById("txtVOCPer"); //记录VOC%
         var objVOCTotal = document.getElementById("txtVOCTotal"); //记录VOCTotal
         var gv = document.getElementById("<%=GVMSDS.ClientID%>");
         var iVOCPer = 0; //记录VOC%
         var iVOCTotal = 0; //记录VOCTotal
         var strLabelVOC; //记录GVMSDS中绑定的labelVOC
         var strLabelMID; //记录GVMSDS中绑定的labelMID值
         var iRow="";//记录GVMSDS的行数
         if (obj.value != "") {
             for (var i = 2; i < gv.rows.length + 2; i++) {
                 iRow = "GVMSDS_ctl" + i + "_lblVOC";
                 if (i < 10) {
                     iRow  ="GVMSDS_ctl" + "0" + i + "_lblVOC"  ;
                 }                 strLabelVOC = document.getElementById(iRow);              
                 strLabelMID = document.getElementById(iRow);                 if (strLabelVOC.value == "○") {
                     iVOCPer = iVOCPer + parseFloat(strLabelMID.value);                 }             }
             objVOCPer.value = iVOCPer;
             iVOCTotal = iVOCPer * 0.01 * parseFloat(obj.value) * 1000;
             objVOCTotal.value = iVOCTotal;
             
         }
         
     }

解决方案 »

  1.   

    strLabelVOC 是服务器控件还是客户端?
      

  2.   

     strLabelVOC = document.getElementById(iRow);   
     strLabelMID = document.getElementById(iRow);参数是字符串类型的,要加双引号
      

  3.   

    strLabelVOC 是用来存放服务器端控件的。想要gridview中的label控件中的值。
      

  4.   

    生成页面看看源代码里那个label的id是什么
      

  5.   


    strLabelVOC = document.getElementById('<%=iRow%>');
      

  6.   

    strLabelVOC = document.getElementById('<%=iRow.ClientID%>');
      

  7.   

    楼上的不正确啊。
    不过在一楼的帮助下。搞定了。最终代码附上:
       //在txtHijyu焦点失去的时候计算VOC% VOC总量
         function txtHijyu_LoseFocus() {
             var obj = document.getElementById("txtHijyu"); //记录比重文本框
             var objVOCPer = document.getElementById("txtVOCPer"); //记录VOC%
             var objVOCTotal = document.getElementById("txtVOCTotal"); //记录VOCTotal
             var gv = document.getElementById("<%=GVMSDS.ClientID%>");
             var iVOCPer = 0; //记录VOC%
             var iVOCTotal = 0; //记录VOCTotal
             var strLabelVOC; //记录GVMSDS中绑定的labelVOC
             var strLabelMID; //记录GVMSDS中绑定的labelMID值
             var iRow="";//记录GVMSDS的行数
             if (obj.value != "") {
                 for (var i = 2; i < gv.rows.length +1; i++) {
                     iRow =  i ;
                     if (i < 10) {
                         iRow  = "0" + i   ;
                     }
    //                 strLabelVOC = document.getElementById("GVMSDS_ctl" + iRow + "_lblVOC").value;
    //                 strLabelMID = document.getElementById("GVMSDS_ctl" + iRow  + "_lblWTMID").value;
                     strLabelVOC = $("#" + "GVMSDS_ctl" + iRow + "_lblVOC").html();
                     strLabelMID = $("#" + "GVMSDS_ctl" + iRow + "_lblWTMID").html();

                     if (strLabelVOC == "○") {
                         iVOCPer = iVOCPer + parseFloat(strLabelMID);                 }             }
                 objVOCPer.value = iVOCPer;
                 iVOCTotal = iVOCPer * 0.01 * parseFloat(obj.value) * 1000;
                 objVOCTotal.value = iVOCTotal;
                 
             }
             
         }