2 Felder berechnen, hin <> her, mit Javascript
bearbeitet von Rolf BHallo 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.
_Rolf_
--
sumpsi - posui - obstruxi
2 Felder berechnen, hin <> her, mit Javascript
bearbeitet von Rolf BHallo 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.
_Rolf_
--
sumpsi - posui - obstruxi