0-0的时候document.getElementById("t136").rows.length
这里的length不成立,要加一个判断
if(isNaN(parseInt(document.getElementById("t136").rows.length)))
{
   eval("document.all.s1").value="0";
}
else
{
   //你的js代码
}

解决方案 »

  1.   

    上面的代码还少考虑了一个情况就是为一行的情况
    if(isNaN(parseInt(document.getElementById("t136").rows.length)))
    {
       if(!document.getElementById("bhsje"))
       {
          eval("document.all.s1").value=document.getElementById("bhsje").value;
       }
       {
          eval("document.all.s1").value="0";
       }
    }
    else
    {
       //你的js代码
    }
      

  2.   

    当用 <% for i=0 to 0 %>此时的行数使1,用b=document.getElementById("t136").rows.length;
    alert(b);输出的b的值也是1,没错
      

  3.   

    那最好了,有地方为1的时候length是不成立的,我这边没有IIS,不能测试程序再发,只能给你个思路了
      

  4.   

    现在输出的b=1,就说明b=document.getElementById("t136").rows.length;这儿没错了,错误的地方应该是在下边,因为用alert(a)无法输出
    for(i=0;i<b;i++){
    a+=parseFloat(eval("document.all.bhsje")(i).value)
    }
      

  5.   

    (天外水火(我是SB,我要多努力)) 知道了,谢谢!
    if(b==1){
       c=document.all.bhsje.value
       document.all.s1.value=c}
    else{
      for(i=0;i<b;i++){
      a+=parseFloat(eval("document.all.bhsje")(i).value)
      }
      alert(a);
      document.all.s1.value=a;
      }//end if