2015-07-05 36 views
1

它是更大任务的一部分。为什么问题Nan以及如何解决它?该表格中加入了来自几个泳池<input> elemenatymi表中的元素。所有的代码总结在大小为k/d的表格中。Javascript - 表格单元格中HTML输入的浮点值

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

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; 
 
       
 
    } 
 
}
<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>

+0

大家好大伙 它是更大任务的一部分。为什么问题楠以及如何解决它? 该表格添加了来自几个池其中elemenatymi表中的元素。 所有的代码总结在大小为k/d的表格中。 为什么问题楠以及如何解决它? – xaxs

+1

,因为你试图解析一个字符串,“”,因此你得到了代表不是数字的NaN。 – slashsharp

+0

是的,您需要访问输入字段的'value'属性。 – dougalg

回答

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了解更多信息。

相关问题