nur zahlen eingeben in input feld mit html?

5 Antworten

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!

fluffiknuffi2  13.05.2017, 16:41

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

0
capfly  13.05.2017, 16:53
@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

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.

Woher ich das weiß:Berufserfahrung – Studium + Berufspraxis

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

Hi Kann so gelöst werden:

<form>
  Quantity (between 1 and 5):
  <input type="number" name="quantity" min="1" max="5">
</form>

Im input tag folgendes schreiben:
type="number" min="0"
Type gibt die Art des Inputs an und min sagt, dass der nicht in den Minus Bereich darf(also der mindest wert)

fluffiknuffi2  13.05.2017, 16:41

Doch, du kannst (zumindest z. B. im Firefox) auch negative Werte eingeben. Du kannst sie nur nicht über die kleinen Buttons auswählen. Testen kannst du das hier: https://jsfiddle.net/c1Laz3qo/

0
FaTech  13.05.2017, 16:53

Ja, dann muss man aber JavaScript verwenden und es war nur nach HTML CSS und PHP gefragt

0