我正在尝试编写一个脚本,用于动态计算用户可编辑的4个输入的总数。输入值的parseFloat返回NaN
我在输入值上使用parseFloat时遇到了一些麻烦。他们返回为NaN
。
到目前为止,我使用parseInt
,而不是parseFloat
,使用.val()
代替.value
已经试过,用name
属性,而不是id
属性,和几个其他的事情,我不记得了手。
我还没有看到类似问题的任何其他答案,这些答案已为我工作,所以如果你不介意看看我的代码,看看我可能会出错,我会很感激它。谢谢!
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Calc</title>
<style>
</style>
</head>
<body>
<table width = "250" border="1">
<tr>
<th align="left">A</th>
<th align="left">B</th>
</tr>
<tr>
<td>Rent</td>
<td id="rent" align="right">
<input type="text" size="7" value="0" onchange="calc()"></td>
</tr>
<tr>
<td>Food</td>
<td id="food" align="right">
<input type="text" size="7" value="0" onchange="calc()"></td>
</tr>
<tr>
<td>Entertainment</td>
<td id="ent" align="right">
<input type="text" size="7" value="0" onchange="calc()"></td>
</tr>
<tr>
<td>Transportation</td>
<td id="trans" align="right">
<input type="text" size="7" value="0" onchange="calc()"></td>
</tr>
<tr>
<th align="left">Total</th>
<td id="total" align="right"></td>
</tr>
</table>
<script>
function calc() {
var w = parseFloat(document.getElementById("rent").value);
var x = parseFloat(document.getElementById("food").value);
var y = parseFloat(document.getElementById("ent").value);
var z = parseFloat(document.getElementById("trans").value);
document.getElementById("total").innerHTML=w+x+y+z;
}
</script>
</body>
</html>
为什么对TD的ID,而不是输入? – epascarello