Ich habe in Eingabefeld, das nur numerische Werte enthalten kann (mit Verwendung von dieses Plugin).
Jetzt möchte ich die Eingabe unterhalb von sagen, sagen wir 90.
Wenn ein Wert eingegeben wird, der diese maximale Obergrenze überschreitet oder nicht analysiert werden kann, sollte der vorherige Wert eingefügt werden.
Standardmäßig enthält das Feld "1".
Ich denke, ich sollte den aktuellen Wert irgendwie erfassen. Versuchen Sie, den neuen Wert zu analysieren. Wenn es ein erlaubter Wert ist, fahre mit diesem Wert fort, wenn nicht, setze den alten zurück.
Da meine JS-Fähigkeiten wirklich begrenzt sind, weiß ich nicht einmal, welche Ereignisse mir zur Verfügung stehen und finde die Dokumentation, die ich auf dem intarwebz gefunden habe, eher verwirrend.
- BEARBEITEN--
Ich endete mit Sergei Code und mit Aarons Usability-Ratschlägen.
Alles, was ich jetzt suche, ist die Aktivierung / Deaktivierung der Einreichung eines ganzen Formulars.
Es reicht jedoch nicht aus, den Absenden-Button zu deaktivieren.
Dies sollte helfen: JavaScript Madness: Tastaturereignisse
Nun ein Wort zur Usability: Ändere niemals den Wert, während der Benutzer tippt. Wenn Sie wissen wollen, warum, versuchen Sie es.
Drehen Sie stattdessen das Feld rot (legen Sie die Hintergrundfarbe fest). Wenn das Formular gesendet wurde, führen Sie die Überprüfung erneut aus, um sicherzustellen, dass der Benutzer den Fehler behoben hat. Falls nicht, zeigen Sie eine inline Fehlermeldung ("Wert muss & lt; 90 sein") irgendwo in der Nähe des Feldes an und setzen Sie den Fokus auf das Feld.
Verwenden Sie keine Warnung () . alert () dient nur zum Debuggen und wird in einer echten Webanwendung nicht verwendet, da es a) den Arbeitsfluss des Benutzers unterbricht und b) nicht funktioniert, wenn der Benutzer tippt: Eventuell trifft der Benutzer den Space und den Dialog wird geschlossen, möglicherweise mit dem Benutzer jemals bemerkt, dass es einen Dialog gab oder was es sagte.
Vielleicht möchten Sie eine Bibliothek wie jQuery oder besuchen Prototype , weil sie bereits alle Bausteine enthalten, die Sie benötigen, und sie beheben viele Bugs für Sie.
Tags und Links javascript validation