Ist es ein float input type HTML5?
Laut html5.org, die "Anzahl" input type "value-Attribut, wenn angegeben und nicht leer ist, muss über einen Wert verfügen, der eine gültige floating point Zahl."
Aber es ist einfach (in der neuesten version von Chrome, sowieso), ein "updown" Steuern mit zahlen, nicht schwimmt:
HTML:
<input type="number" id="totalAmt"></input>
Gibt es eine floating-point-input-element nativen HTML5, oder ein Weg, um die Anzahl Art des Eingangs der Arbeit mit floats, ints nicht? Oder muss ich noch auf ein jQuery UI-plugin?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
number
Typ hat einestep
value controlling, die Nummern sind gültig (zusammen mitmax
undmin
), die standardmäßig auf1
. Dieser Wert wird auch von Implementierungen für die Schrittmotor-Tasten (D. H. durch drücken der up erhöht durchstep
).Einfach diesen Wert zu ändern, was auch immer angemessen ist. Für das Geld, zwei Nachkommastellen sind wohl erwartet:
(Ich würde auch set
min=0
wenn es nur positiv sein kann)Wenn Sie es vorziehen, zu erlauben, eine beliebige Anzahl von Dezimalstellen, die Sie verwenden können
step="any"
(obwohl für Währungen, würde ich empfehlen, kleben0.01
). In Chrome & Firefox, der Schrittmotor-Tasten Inkrementieren /Dekrementieren um 1, wenn mitany
. (Dank an Michal Stefanow Antwort für den Hinweisany
, und finden Sie in der jeweiligen Skillung hier)Hier ist ein Spielplatz, die zeigen, wie die verschiedenen Schritte, die auf verschiedene input-Typen:
HTML:
Wie üblich, ich ' ll fügen Sie eine kurze Notiz: denken Sie daran, dass client-seitige Validierung ist nur eine Bequemlichkeit für den Benutzer. Sie müssen auch überprüfen, die auf der server-Seite!
4.10
erscheint als4.1
. Immer noch technisch korrekt Verhalten (die spec nur erfordert es, um zu zeigen, eine entsprechende Fließkomma-Darstellung), aber eine schlechte UI-im Falle der Währung. Ich möchte Menschen ermutigen, zu wählen, dass der Fehler. Sieht aus wie Sie könnte Anstoß für eine neue standard-Attribut zur Steuerung der Anzeige.All attribute values must be quoted, even those which appear to be numeric.
Omiitting Zitate nur ärger.. noch dazu, wenn Sie dynamische Inhalte/Werte..Via: http://blog.isotoma.com/2012/03/html5-input-typenumber-and-decimalsfloats-in-chrome/
Funktioniert bei mir in Chrome nicht getestet, die in anderen Browsern.
können Sie verwenden:
hoffe auf Hilfe, Grüße
Basierend auf diese Antwort
Bedeutung :
Char-code :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Backspace
(sonst müssen die Seite aktualisieren auf Firefox)dot
&&
istAND
,||
istOR
Betreiber.wenn Sie versuchen, float mit Komma :
Unterstützt Chromium und Firefox (Linux X64)(andere Browser habe ich nicht vorhanden.)
|| event.ctrlKey
zu ermöglichen basic kopieren und einfügen. Aber ich würde nicht diesen Ansatz verwenden, wenn es nicht ein PrototypKönnen Sie die Schritt-Attribut zum input-Typ number:
step="any"
können alle Dezimalstellen.step="1"
zulassen wird, ohne Dezimalstellen.step="0.5"
erlauben 0.5; 1; 1.5; ...step="0.1"
ermöglichen 0.1; 0.2; 0.3; 0.4; ...Ich tun, damit
dann definiere ich min 0.4, max 0.7 mit Schritt 0.01: 0.4, 0.41, 0,42 ... 0.7
Ich hatte gerade das gleiche problem, und ich es beheben könnte nur darum, eine Komma und nicht ein Zeitraum/full stop in der Zahl wegen französische Lokalisierung.
Also es funktioniert mit:
2 ist OK
2,5 ist OK
2.5 ist KO (Die Zahl wird als "illegal" und erhalten Sie einen leeren Wert).