<td><input type="text" name="textfield2" style="width:60px" id="num1"/></td>
  <td><input type="text" name="textfield3" style="width:60px" id="num2"/></td>
  <td><input type="text" name="textfield4" style="width:60px" id="num3"/></td>
  <td><input type="text" name="textfield5" style="width:60px" id="num4"/></td>
  <td><input type="text" name="textfield6" style="width:60px" id="num5"/></td>
  <td><input type="text" name="textfield7" style="width:60px" id="num6"/></td>
  <td><input type="text" name="textfield8" style="width:60px" id="num7"/></td>如果有N个文本框 怎么计算文本框值的和啊?用javascript  怎么写

解决方案 »

  1.   


    var tdlist = document.getElementsByTagName("input");
    var sum = 0;

    for(var i=0; i<tdlist.length; ++i) {
    sum = sum  + parseInt(tdlist.item(i).value);
    }
      

  2.   

    不过得保证parseInt(tdlist.item(i).value)成功,万一写入的是字符不就有问题了。
      

  3.   

    先用JS验证文本框的输入是否是数字,不是则通不过要求重新输入。
    用parseFloat比较好,又没说一定要是整数。
      

  4.   

    上面程序的重点,倒不是保证parseInt(tdlist.item(i).value)成功.这个责任可以由用户负责(程序虽然可以作容错,但这也不是天经地义的.湖边立了牌子:禁止游泳.结果你非去,淹死了,你看谁负责???).问题是,程序在有其它非输入数字的INPUT存在时,就一定会出错(这不是容错问题,而是肯定错的问题).
    所以在getElementsByTagName("input")之后,在FOR循环里,还必须判断INPUT的ID或NAME.而且楼主的HTML里也给每个INPUT分配了ID和NAME,也省事了.