Rolf B: 2 Felder berechnen, hin <> her, mit Javascript

Beitrag lesen

Hallo Therry,

Ich verstehe das so, das das onkeyup ein INPUT Event ist!

Das merkst Du Dir so besser nicht, das verwirrt nur. Es gibt ein konkretes Event namens input. Und es gibt diverse Events, die auf Grund von Benutzer-Input in einem <input> Element ausgelöst werden können. Eins davon heißt keyup und wird gefeuert, wenn Du eine Taste drückst und dann wieder loslässt. Das hast Du verwendet.

Ein anderes heißt input und feuert dann, wenn sich der Wert im <input> Element ändert. Das ist also mehrdeutig, es gibt das input Event und das <input> Element.

Vorteil des input Events ist, dass es auch dann feuert, wenn sich der Feldinhalt anders als durch Drücken einer Taste ändert. Z.B. durch Einfügen per Maus oder durch Klicken der Pfeil-Icons an einem Input-Element mit type=number.

Und ganz wichtig: Das input Event feuert nicht, wenn Du dem Element per JavaScript einen Wert zuweist. Das ist sehr gut so. Denn anderfalls würden deine beiden Rechner-Funktionen dazu führen, dass die beiden Eingabefelder sich gegenseitig mit input-Events totschießen würden.

Was ich vorhin noch zu schreiben vergaß: <input type="number"> hat eine valueAsNumber Eigenschaft. Nimm die, statt der value Eigenschaft. Das erspart Dir den parseFloat.

Statt

zahl_auslesen(document.rechner.Eingabe)

einfach

document.rechner.Eingabe.valueAsNumber

Ein Zeichen weniger und die Funktion kann weg 😀

Rolf

--
sumpsi - posui - obstruxi