JavaScript: Wie kann ich den Wert eines Eingabefelds bereits während der Eingabe prüfen?
Hey Leute, ich habe eine Frage zu JavaScript.
Ich möchte gerne, dass mein input-Feld number, das, wenn das erste getippte Zeichen eine Zahl ist, eine alert-Meldung ausgibt und sagt, es ist eine Nummer. Wenn es ein Buchstabe ist, dann soll es sagen, dass es ist keine Zahl ist.
Es soll direkt bei Eingabe geprüft werden und nicht erst, nach Klick auf etwas oder so ähnlich.
Ungefähr so:
listener
if (erstes Zeichen eine Nummer) {
alert("es ist eine nummer");
else {
alert("es ist keine nummer");
}
LG
2 Antworten
Warum sollte man sowas machen?
Davon ab, einfach einen EventListener auf das Input-Feld, der z.B. beim input, keypress oder anderen Event, je nach gewünschten Verhalten triggert, schauen ob die Länge vom input.value === 1 ist und in dem Fall schauen, ob es eine Nummer ist z.B. mit !isNaN oder isInteger, alternativ den keyCode vom Event auswerten und den Bereich der Zahlen abfragen.
Natürlich hast du die Ausgabe dann doppelt, wenn man Zeichen wieder löscht, du kannst dir natürlich ansonsten die vorherige Länge merken und beim Schritt von 2 auf 1 keine Meldung erzeugen bzw. wenn die aktuelle Taste !== Backspace und Delete ist, wobei man natürlich auch eine Selection usw. überschreiben kann, damit ist wohl nur das Merken eine konsistente und leichte Möglichkeit.
Kanns auch nicht, wenn Du nicht richtig abschreibst. Einrückung hilft zudem beim Überblick.
number.addEventListener("input", function() {
if (Number.isInteger(integer)) {
alert("Fits");
}
else {
alert("No");
}
});
Das funktioniert bei mir nicht
number.addEventListener("input", function() {if (Number.isInteger(integer)) {alert("Fits");}alert("No");}})