【发布时间】:2016-11-21 17:56:19
【问题描述】:
我正在尝试编写一个脚本,该脚本可以根据用户可编辑的 4 个输入动态计算总数。
我在输入值上使用 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而不是input?
标签: javascript user-input nan parseint parsefloat