JavaScript: Wie kann ich den Wert eines Eingabefelds bereits während der Eingabe prüfen?

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.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012
Woher ich das weiß:Recherche
Ep1cNinja 
Fragesteller
 29.03.2019, 20:53

Das funktioniert bei mir nicht

number.addEventListener("input", function() {if (Number.isInteger(integer)) {alert("Fits");}alert("No");}})

0
threadi  29.03.2019, 22:35
@Ep1cNinja

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");
   }
});
0
Ep1cNinja 
Fragesteller
 30.03.2019, 18:07
@threadi

Danke ich habe es anders geschafft trotzdem danke für deine Hilfe und mit dem Tipp ;)

0