Der number
Typ hat einen step
Wert, der steuert, welche Zahlen gültig sind (zusammen mit max
und min
) und welcher Standardwert ist 1
. Dieser Wert wird auch von Implementierungen für die Schritttasten verwendet (dh das Drücken nach oben erhöht sich um step
).
Ändern Sie diesen Wert einfach auf den entsprechenden Wert. Für Geld werden wahrscheinlich zwei Dezimalstellen erwartet:
<input type="number" step="0.01">
(Ich würde auch festlegen, min=0
ob es nur positiv sein kann)
Wenn Sie eine beliebige Anzahl von Dezimalstellen zulassen möchten, können Sie diese verwenden step="any"
(für Währungen würde ich jedoch empfehlen, sich daran zu halten 0.01
). In Chrome & Firefox werden die Schritttasten bei Verwendung um 1 erhöht / verringert any
. (Dank an Michal Stefanows Antwort für den Hinweis any
und die entsprechende Spezifikation hier )
Hier ist ein Spielplatz, der zeigt, wie sich verschiedene Schritte auf verschiedene Eingabetypen auswirken:
<form>
<input type=number step=1 /> Step 1 (default)<br />
<input type=number step=0.01 /> Step 0.01<br />
<input type=number step=any /> Step any<br />
<input type=range step=20 /> Step 20<br />
<input type=datetime-local step=60 /> Step 60 (default)<br />
<input type=datetime-local step=1 /> Step 1<br />
<input type=datetime-local step=any /> Step any<br />
<input type=datetime-local step=0.001 /> Step 0.001<br />
<input type=datetime-local step=3600 /> Step 3600 (1 hour)<br />
<input type=datetime-local step=86400 /> Step 86400 (1 day)<br />
<input type=datetime-local step=70 /> Step 70 (1 min, 10 sec)<br />
</form>
Wie üblich füge ich einen kurzen Hinweis hinzu: Denken Sie daran, dass die clientseitige Validierung für den Benutzer nur eine Annehmlichkeit ist. Sie müssen auch auf der Serverseite validieren!
Über: http://blog.isotoma.com/2012/03/html5-input-typenumber-and-decimalsfloats-in-chrome/
Funktioniert für mich in Chrome, nicht in anderen Browsern getestet.
quelle
Sie können verwenden:
quelle
Sie können das Schrittattribut für die Eingabetypnummer verwenden:
step="any"
erlaubt jede Dezimalstelle.step="1"
erlaubt keine Dezimalstelle.step="0.5"
erlaubt 0,5; 1; 1,5; ...step="0.1"
erlaubt 0,1; 0,2; 0,3; 0,4; ...quelle
Basierend auf dieser Antwort
Bedeutung:
Zeichencode:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Backspace
(andernfalls muss die Seite in Firefox aktualisiert werden)dot
&&
istAND
,||
istOR
Betreiber.Wenn Sie versuchen, mit Komma zu schweben:
Unterstützt Chromium und Firefox (Linux X64) (andere Browser gibt es nicht.)
quelle
Ich mache das
dann definiere ich min in 0,4 und max in 0,7 mit Schritt 0,01: 0,4, 0,41, 0,42 ... 0,7
quelle
Ich hatte gerade das gleiche Problem, und ich konnte es beheben , indem nur ein Putting Komma und keinen Zeitraum / Stillstand der Zahl wegen Französisch Lokalisierung .
So funktioniert es mit:
2 ist OK
2,5 ist in Ordnung
2,5 ist KO (Die Nummer gilt als "illegal" und Sie erhalten einen leeren Wert).
quelle