Die numerische Tastatur mit Dezimaleingabe wurde nur für native Apps in iOS 4.1 verfügbar gemacht (speziell für den Tastaturtyp UIKeyboardTypeDecimalPad
in UITextInputTraits
Protokoll). Zuvor war es notwendig, hack um die Begrenzung des fehlenden Dezimalpunkts mit dem UIKeyboardTypeNumberPad
als Startpunkt.
Leider scheint diese Funktionalität noch nicht zu MobileSafari (oder UIWebView) durchgesickert zu sein, und Apples einzige Dokumentation zu dieser Funktion ist hier , die leider nur dokumentiert, was Sie bereits entdeckt haben.
Eine Sache, die die Apple-Dokumentation nicht erwähnt, ist, dass Sie <input type="number">
(ein neuer Attributwert in HTML5) angeben können, der den Benutzer auf der Nummer- und Interpunktionstastatur startet, auf die normalerweise durch Drücken der Taste ".? 123 "-Knopf links unten auf der Standard-Texttastatur.
Ich würde diesen Ansatz wahrscheinlich vorerst annehmen und hoffe, dass die Unterstützung für UIKeyboardTypeDecimalPad
irgendwie in iOS 5 hinzugefügt wird.
(Übrigens, input
-Elemente mit ihrem type-Attribut, das auf number
gesetzt ist, sollen Fließkommazahlen , gemäß der HTML5-Spezifikation Ich vermute, das ist der Grund, warum Apple in diesem Fall die vollständige Tastatur präsentiert - Gleitkommazahlen können berechtigterweise Minus- und Pluszeichen und Kleinbuchstaben oder Großbuchstaben enthalten, die von UIKeyboardTypeDecimalPad
nicht unterstützt werden.
Problem mit <input type="number">
ist das wird nur außer Ganzzahlen. Ich fand dies , wo er erwähnt, dass step="any"
hinzugefügt wurde das Eingabe-Tag Jetzt erhalten Sie die numerische Tastatur und können Dezimalzahlen eingeben.