Я пытаюсь написать сценарий, который динамически вычисляет сумму из 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, а не на входе? – epascarello