【问题标题】:Javascript - float value from an HTML input in table cellJavascript - 表格单元格中 HTML 输入的浮点值
【发布时间】:2015-07-05 22:04:24
【问题描述】:

这是更大任务的一部分。为什么会出现问题Nan 以及如何解决?该表将来自多个池<input> 的元素添加在一起,其中 elemenatymi 表。所有代码汇总在大小表k / d

为什么会出现 Nan 问题以及如何解决?

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>

【问题讨论】:

  • 大家好,这是更大任务的一部分。为什么会出现问题 Nan 以及如何解决?该表是从几个池中的元素添加在一起的 其中elemenatymi 表。所有代码都汇总在大小 k / d 的表中。为什么是 Nan 问题以及如何解决?
  • 因为您正在尝试解析字符串“”,因此您得到了代表 Not a number 的 NaN。
  • 是的,您需要访问输入字段的value 属性。

标签: javascript cell parsefloat


【解决方案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 以了解更多信息。

【讨论】:

    猜你喜欢
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2011-05-15
    相关资源
    最近更新 更多