Es gibt verschiedene Tricks zum Anzeigen verschiedener Tastaturen auf Mobilgeräten für HTML 5-Eingaben (dh <input>
Tags).
Einige sind beispielsweise auf der Apple-Website unter Konfigurieren der Tastatur für Webansichten dokumentiert .
Diese sind gut für die Benutzerfreundlichkeit, aber wenn es um eine Eingabe für internationale Postleitzahlen geht (meistens numerisch, aber Buchstaben erlaubt), bleiben uns einige schlechte Optionen. Die meisten Leute empfehlen, den pattern="\d*"
Trick zu verwenden, um die numerische Tastatur anzuzeigen, aber das erlaubt keine Buchstabeneingabe.
Der type="number"
Eingabetyp zeigt die normale Tastatur, wird jedoch in das numerische Layout verschoben:
Dies funktioniert gut für iOS-Geräte, lässt Chrome jedoch denken, dass die Eingabe eine Zahl sein muss, und ändert sogar das Verhalten der Eingabe (Erhöhen und Verringern des Werts nach oben / unten).
Gibt es eine Möglichkeit, iOS dazu zu bringen, standardmäßig das numerische Layout zu verwenden, aber dennoch alphanumerische Eingaben zuzulassen?
Grundsätzlich möchte ich das iOS-Verhalten für, type="number"
aber ich möchte, dass sich das Feld wie ein normales Textfeld in Desktop-Browsern verhält. Ist das möglich?
AKTUALISIEREN:
Das Sniffing des User-Agent für iOS und die Verwendung des type="number"
Eingabetyps ist keine Option. type="number"
ist nicht für Zeichenfolgenwerte (wie Postleitzahlen) gedacht und hat andere Nebenwirkungen (wie das Entfernen führender Nullen, Komma-Trennzeichen usw.), die es für Postleitzahlen weniger als ideal machen.