nur zahlen eingeben in input feld mit html?

7 Antworten

Indem du ein input-Element nutzt und die Attribute min und ggf. max auf entsprechende Werte setzt. Das reicht aber nicht aus, du wirst zusätzlich JavaScript einsetzen müssen.

Hier mal ein Beispiel, das aber sicherlich auch noch nicht perfekt ist: https://jsfiddle.net/c1Laz3qo/1/ Wenn du dort  z. B. 0 eingibst, wird 1 gesetzt.


So oder so sollten Usereingaben auch serverseitig noch einmal validiert werden, da sie clientseitig praktisch immer manipuliert werden können.

Verhindern kann man das sowieso nicht, da der Nutzer HTML in seinem Browser immer manipulieren kann. Aber für Ottonormal-Nutzer sollte der Input-Type "number" ausreichend sein, da kannst du auch Ranges einstellen:

https://www.w3schools.com/html/tryit.asp?filename=tryhtml_input_number

PS: Immer die eingegebenen Daten serverseitig validieren!

Min und max haben allerdings nur eine sehr rudimentäre Wirkung. Gib z.B. hier mal -1 ein: https://jsfiddle.net/c1Laz3qo/

0
@fluffiknuffi2

Mein Firefox behandelt eine invalide Eingabe wie ein leeres Feld mit require-Attribut. Also werden die Daten erst gesendet wenn die Eingabe valid ist.

(aber wie gesagt ist es versierten Nutzern prinzipiell immer möglich Daten nach eigenem Belieben zu bearbeiten und abzuschicken)

0

<input type="number">
Denn mit javascript o.Ä. checken, ob es größer 0 ist. HTML fällt mir nichts ein auf die schnelle..

Was möchtest Du wissen?