Ich versuche, ein Skript zu schreiben, das dynamisch eine Summe aus 4 Eingaben berechnet, die vom Benutzer bearbeitet werden können.parseFloat des Eingabewerts gibt NaN zurück
Ich habe einige Probleme, wenn ich parseFloat auf meine Eingabewerte verwende. Sie kommen als NaN
zurück.
Bisher habe ich versucht, mit parseInt
statt parseFloat
, verwendet .val()
statt .value
, mit name
statt id
Attribute Attribute und ein paar andere Dinge, die ich nicht Hand erinnern ab.
Ich habe keine anderen Antworten auf ähnliche Fragen gesehen, die für mich schon funktioniert haben, also wenn es dir nichts ausmacht, einen Blick auf meinen Code zu werfen, um zu sehen, wo ich vielleicht falsch gelaufen bin es. Vielen Dank!
<!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>
Warum ist die ID auf dem TD und nicht der Eingang? – epascarello