<table> <tr>
   <table>
     <tr>
        <td><div align="center"><input type="text" name="ZS"  class="Number" size="8" onpropertychange="HJ();"></div></td>
         ......
     </tr>
      <tr>
        <td><div align="center"><input type="text" name="ZS"  class="Number" size="8" onpropertychange="HJ();"></div></td>
         ......
     </tr>
     <tr>
        <td><div align="center"><input type="text" name="ZS"  class="Number" size="8" onpropertychange="HJ();"></div></td>
         ......
     </tr>
   </table> </tr></table>function HJ(){

    var zs=document.getElementsByName("ZS").value;
    
alert(zz);//一直弹undefined
    var zzs=0.00;
   
    for(i=0;i<zs.length;i++){
     if(zs[i].value!=""){
     zzs+=parseInt(zs[i]);
        
     }
    }
    document.getElementById("CPPDRKTZD$HJZS").value=zzs;
    
}
以前没套table的时候是能用的,现在因为需要天哥table,死活获取不到了。急急急急急急JS

解决方案 »

  1.   

    CPPDRKTZD$HJZS  这是什么啊
      

  2.   


    function HJ(){
        var zs = document.getElementsByName("ZS");
    //alert(zz);//这里你弹zz干啥,哪里声明了zz吗?
        var zzs = 0.00;
        for(i = 0;i < zs.length;i++){
         if(zs[i].value!=""){
    zzs += parseFloat(zs[i]);//既然声明了带小数点,为啥还parseInt
         }
        }
        document.getElementById("CPPDRKTZD$HJZS").value = zzs;
    }
      

  3.   

    弹的是zs,打错了。
    因为一直获取不到zs的value,所以下面就还没在意,
      

  4.   

    document.getElementsByName("ZS")
    取到的是所有名字为ZS的一个数组
    要取值就要先定位到指定对象
    document.getElementsByName("ZS")[0]
    然后再操作dom对象
    document.getElementsByName("ZS")[0].value
      

  5.   

    你试试我的代码,zs不该取你试试我刚才贴的代码,zs取值的时候最后不该有.value
      

  6.   

    html 改成:
    <input type="text" name="ZS"  class="Number" size="8" onpropertychange="HJ(this.value);">
    js 改成:
    function HJ(value){   
    alert(value);

        var zzs=0.00;
       
        for(i=0;i<zs.length;i++){
         if(zs[i].value!=""){
         zzs+=parseInt(zs[i]);
             
         }
        }
        document.getElementById("CPPDRKTZD$HJZS").value=zzs;
        
    }