Sebastian Becker: nur numerische Werte in Eingabefeld zulassen

Hallo,

in ein Eingabefeld sollen nur numerische Werte eingegeben und hineinkopiert werden können.

Die Eingabe verhindere ich durch Abfrage des Keycodes mit Javascript. Wie kann ich aber das hineinkopieren nicht zulässiger Werte verhindern?

Danke für alle Ideen, Grüße,

Sebastian Becker

  1. Hallo Sebastian,

    Die Eingabe verhindere ich durch Abfrage des Keycodes mit Javascript. Wie kann ich aber das hineinkopieren nicht zulässiger Werte verhindern?

    Durch hinterheriges Überprüfen, sonst gar nicht. [1] Du musst auf jeden Fall auf dem Server eine Kontrolle des Formulars durchführen, sonst kann jemand mit deaktiviertem JavaScript alles mögliche auf dem Server absetzen. *Zusätzlich* (aber wirklich nur als "Bonus" für Benutzer mit aktiviertem JS, nicht als einzige Überprüfung) kannst Du noch vor dem Abschicken kontrollieren, ob alle Eingaben korrekt sind: http://aktuell.de.selfhtml.org/tippstricks/javascript/formkontrolle/

    Viele Grüße,
    Christian

    [1] Du könntest natürlich alle 500 ms kontrllieren, ob der Inhalt noch OK ist, allerdings halte ich diese Lösung für schwachsinnig, da sie unnötig Resourcen verbraucht.

    1. Hallo, Christian,

      Durch hinterheriges Überprüfen, sonst gar nicht.
      Du könntest natürlich alle 500 ms kontrllieren, ob der Inhalt noch OK ist, allerdings halte ich diese Lösung für schwachsinnig, da sie unnötig Resourcen verbraucht.

      es müßte eigentlich möglich sein, onFocus den Inhalt des jeweiligen Feldes in einer Variable zu speichern und onChange den neuen Wert zu überprüfen und wenn er nicht den gewünschten Kriterien entspricht durch den gespeicherten (alten) Wert zu ersetzen.

      Das hat bei mir allerdings bislang noch nicht geklappt und vielleicht gibt es ja doch noch eine Alternative ...

      Grüße,

      Sebastian