Afficher le clavier numérique de l'iPhone en utilisant l'entrée de texte
Avis que l'utilisation de input type="number"
peut afficher un clavier numérique comme ci-dessous:
Est-il possible d'utiliser input type="text"
à afficher le même clavier numérique? J' ne pas vous voulez afficher un pavé numérique à l'aide de pattern="\d*"
car il est possible que la valeur contient une décimale.
La raison pour laquelle je voudrais utiliser input type="text"
au lieu de input type="number"
est que je ne peut pas revenir à la valeur si je saisir un nombre dans un champ numérique. Par exemple, si j'ai d'entrée ABC, il se vide automatiquement. Il me semble que l'utilisation de input type="text"
sera plus facile pour ce genre de contrôle.
type="number"
?Salut deceze, j'ai editted ma question. Merci.
Il est, en HTML5.1, un attribut qui s'appelle "inputmode" qui est le moyen de soutenir cette. Donc, si vous voulez avoir
<input type="text" inputmode="numeric" name="whatever">
Cependant, il ne l'est pas en HTML5, donc je suppose qu'il n'est actuellement pas beaucoup voire pas du tout.La Solution ici: stackoverflow.com/a/25599024/1922144
inputmode="numeric"
ne fonctionne plus.OriginalL'auteur red23jordan | 2013-05-09
Vous devez vous connecter pour publier un commentaire.
Si votre entrée est un nombre réel, entier ou décimal, puis utiliser le HTML5
type="number"
d'entrée. Cela va mettre en place correcte du clavier sur les périphériques Android (Windows phone).Alors l'astuce est de placer un
pattern="[0-9]*"
sur cet attribut pour obliger le pavé numérique sur iOS. Note:Une dernière remarque, assurez-vous DE ne PAS utiliser le numéro de type de champ pour les entrées qui ne sont pas de vrais numéros (par exemple. zipcodes avec des zéros ou des codes de produit par des virgules ou des espaces). Une entrée numérique de terrain ne PEUVENT PAS PRÉSENTER de valeurs qui ne sont pas de vrais numéros! (selon le navigateur/appareil)
OriginalL'auteur davidelrizzo
utiliser ce code:
OriginalL'auteur Behnam Mohammadi
Il existe d'autres types qui peuvent affichage du clavier numérique.
Avec type="number" vous ne pouvez rien faire. Il n'accepte pas n'importe quoi mais des numéros. Mais si vous utilisez le type="tel", c'est un vilain hack, mais il fonctionne.
Voici mon code postal exemple:
Il y en aura un problème avec la touche "-" sur certains claviers à l'écran, vous pouvez contourner ce problème en ajoutant le tableau de bord après le nombre spécifié de caractères en JavaScript comme ceci:
(S'il vous plaît excusez jQuery).
Au lieu d'utiliser type="tel", vous pouvez utiliser type="texte" et le modèle de la propriété, mais je n'ai pas encore testé. Plus vraisemblablement, il ne fonctionne pas avec la plupart des navigateurs.
OriginalL'auteur Harry
Je ne pourrais pas trouver de solution pour que, dès maintenant.
Mais une astuce que vous pourriez faire est d'utiliser type="nombre" et de modifier en javascript avec le document.getElementById("élément").type="text";
mais cependant ce serait également effacer l'ABC, mais d'accepter les numéros des virgules et des décimales
vérifiez ici jsfiddle.net/svenkatreddy/REHyd Avec Cela, vous pouvez obtenir le clavier numérique et le type d'entrée est toujours "texte", mais cependant, je ne peux l'accepter Alphabhets (ABC sera effacé) et le clavier Numérique ne figure en premier temps, si vous le souhaitez pour plusieurs fois juste à stocker la valeur de l'entrée dans la variable et de les convertir à la sortie de type "nombre" je suis désolé, mais c'est le seul hack, disponible dès à présent.
OriginalL'auteur Venkat Reddy
Essayer cette workarround. A travaillé pour moi.
Ce sera à son tour le type de numéro, puis de revenir au texte.
Cela va forcer ios pour passer en numérique keybord sur la première prop changement.
Le
setSelectionRange
est pour sélectionner la valeur d'entrée.OriginalL'auteur Jhonatan Muller