Ich habe ein Textfeld. Gibt es einen Weg, wo der höchste Wert, den der Benutzer eingeben kann, 100 und der niedrigste Wert 0 ist?
Wenn der Benutzer also eine Zahl von mehr als 100 eingibt, ändert er automatisch den Wert mit einer keyup () - Funktion auf 100, und wenn der Benutzer eine Zahl kleiner als 0 eingibt, wird er als 0 angezeigt?
Mein Textfeld ist unten:
%Vor%Kann dies mit JavaScript gemacht werden?
Wenn Sie mit HTML5 in Ordnung sind, kann es ohne JavaScript-Code durchgeführt werden ...
%Vor%Sonst etwas wie ...
%Vor%Dies setzt nur die Werte zurück, wenn der Eingang den Fokus verliert, und löscht alle Eingaben, die nicht als Ganzzahl analysiert werden können ...
OBLIGATORISCHE WARNUNG
Sie sollten immer eine angemessene serverseitige Validierung von Eingaben durchführen, unabhängig von der clientseitigen Validierung.
Es hängt von der Art der Zahlen ab und was Sie erlauben werden. Zahlen mit Dezimalzahlen zu verarbeiten ist schwieriger als einfache Ganzzahlen. Situationen, in denen mehrere Kulturen erlaubt sind, sind wieder komplizierter.
Die Grundlagen sind diese:
Ja, kann es! Sie könnten zuerst überlegen, den Wert von maxlength auf 3 zu setzen und dann einen Event-Handler für das keyup-event zu schreiben.
Die Funktion kann die Benutzereingabe mit regex oder parseInt auswerten, um die Benutzereingabe zu validieren und auf einen beliebigen Wert zu setzen, wenn die Eingabe falsch ist.
Wenn Sie nicht HTML5 verwenden, ist dies eine ziemlich einfache JavaScript-Formularüberprüfung.
Seitennotiz - Ich würde den Wert im Unschärfen-Ereignis anstelle von keyup auf 0 setzen (als Benutzer würde ich den Text während der Eingabe ändern würde nervig zu keinem Ende sein).
Es ist ganz einfach, Sie können den Bereichsvalidator verwenden
%Vor%andernfalls können Sie Javascript verwenden
%Vor%Tags und Links javascript html