Javascript - 表格单元格中HTML输入的浮点值

时间:2015-07-05 22:04:25

标签: javascript cell parsefloat

这是更大任务的一部分。为什么问题Nan以及如何解决?该表被添加到几个池<input>的元素中,其中elemenatymi表。所有代码都在大小为k / d的表格中进行了总结。

为什么问题是楠以及如何解决它?

&#13;
&#13;
function licz(tableID){
 var table = document.getElementById(tableID);
 var k, d, s=0, temp;
 var i = table.rows.length;
      for(k=1; k<=i; k++){
          for(d=0; d<2; d++){
temp = parseFloat(document.getElementById(tableID).rows[k].cells[d].innerHTML);
alert(temp);
s=s+temp;
          }
document.getElementById(tableID).rows[k].cells[d].innerHTML = s;
              
     } 
}
&#13;
<form name="roz" action="">
<table id="tyg" class="product_values" style="width: 20%" border=1>
<tr>
  <td> Pon </td>
  <td>  Wt </td>
  <td> Sum </td>
</tr><tr>
<td> <input type="number" name="inp_a" ></td>
  <td> 4 </td> 
  <td></td>        
</table>
</form>
<button onclick="licz('tyg')">go</button>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

这不是从子元素获取值的正确方法,你应该做这样的事情:

JavaScript的:

  function licz(tableID){
     var table = document.getElementById(tableID);
               var k, d, temp;
               var i = table.rows.length;

               for (k = 1; k <= i; k++) {
                   for (d = 0; d < 2; d++) {
                       if (d == 0) {
                           temp = parseFloat(document.getElementById(tableID).rows[k].cells[d].childNodes[1].value);
                       }
                       if (d == 1) {
                           temp = temp + parseFloat(document.getElementById(tableID).rows[k].cells[d].innerHTML);
                       }
                   }
                   document.getElementById(tableID).rows[k].cells[d].innerHTML = temp;
                   document.getElementById('num').v
               }
           }

HTML:

        <table id="tyg" class="product_values" style="width: 20%" border=1>
        <tr>
            <td> Pon </td>
            <td>  Wt </td>
            <td> Sum </td>
        </tr>
        <tr>
            <td> <input id = 'num' type="number" name="inp_a" ></td>
            <td> 4 </td> 
            <td></td>
        </tr>
    </table>
好吧......这是一个很好的问题。您应该阅读DOM以了解更多信息。