Problem Berechnen von input -Wert mit javascript
fujitsu
- html
- javascript
Hallo ihr lieben,
folgendes Problem: Ich habe ein input über HTML erstellt, in diesen wird eine Zahl eingegeben und wenn die Eingabe erfolgt ist (also der Wert des inputs geändert wurde) soll automatisch das Quadrat der Zahl berechnet werden und in das gleiche input-Feld ausgegeben werden. D.h. es ist immer nur ein Ergebnis zu sehen. Ich hoffe das war soweit verständlich. Ich habe mich schon druch das Netz gequält, aber finde keine Lösung. Meine Ausgabe ergibt immer 'not a number'.. Ich freue mich über eure Tips!
<html>
<head>
<title>xxx</title>
<script>
function rechnen()
{
var wert = document.getElementById('zahl');
var ergebnis = wert.valueAsNumber * wert.valueAsNumber;
document.getElementById('zahl').value = ergebnis;
}
</script>
</head>
<body>
<input id="zahl" name="zahl" style="width:50px;" onchange ="rechnen();">
</body>
</html>
Hallo fujitsu,
Ich habe ein input über HTML erstellt, […] und in das gleiche input-Feld ausgegeben werden.
Du erkennst den Widerspruch?
Dein JS-Problem wird dadurch allerdings nicht gelöst.
Andere hatten dein Problem auch schon: https://stackoverflow.com/questions/18062069/why-does-valueasnumber-return-nan-as-a-value
Bis demnächst
Matthias
Den Widerspruch erkenne ich nicht, nein. Aber danke für den Link, jetzt läufts.
Hallo fujitsu,
Den Widerspruch erkenne ich nicht, nein.
Ein input
-Element ist für die Eingabe von Daten da, nicht für die Ausgabe. Dafür gibt es output
-Elemente.
Bis demnächst
Matthias
@@fujitsu
Meine Ausgabe ergibt immer 'not a number'.
So ist es spezifiziert: “if the valueAsNumber
attribute does not apply, as defined for the input
element’s type
attribute’s current state, then return a Not-a-Number (NaN) value. Otherwise, if the valueAsDate attribute applies…”
Für welche Eingabefeld-Typen letzteres der Fall ist, findest du in der dort verlinkten Tabelle.
LLAP 🖖