Comment forcer le clavier avec des numéros sur le site Web mobile dans Android

J’ai un site Web mobile et input éléments de input HTML, comme ceci:

  

J’ai intégré le site dans une WebView pour une éventuelle consommation Android 2.1, de sorte qu’il s’agisse également d’une application Android.

Est-il possible d’obtenir le clavier avec des nombres au lieu de celui par défaut avec des lettres lorsque cet élément d’ input HTML est focalisé?

Ou est-il possible de le définir pour toute l’application (peut-être quelque chose dans le fichier Manifest ), si ce n’est pas possible pour un élément HTML?

   

Ces deux éléments présentent le pavé numérique lorsque l’access à l’accent est atteint.

affiche un clavier normal avec un bouton de recherche supplémentaire

Tout le rest semble faire apparaître le clavier standard.

NOTE IMPORTANTE

J’affiche ceci comme une réponse, pas un commentaire, car c’est une information plutôt importante et elle attirera plus d’attention dans ce format.

Comme d’autres pointeurs l’ont fait remarquer, vous pouvez forcer un appareil à afficher un clavier numérique avec type="number" / type="tel" , mais je dois souligner que vous devez être extrêmement prudent avec cela.

Si quelqu’un s’attend à un nombre commençant par des zéros, tel que 000222 , alors il est probable qu’il aura des problèmes, car certains navigateurs (Chrome de bureau, par exemple) enverront au serveur 222 , ce qui n’est pas ce qu’il veut.

À propos de type="tel" Je ne peux rien dire de semblable, mais personnellement, je ne l’utilise pas, car son comportement sur différents téléphones peut varier. Je me suis limité au pattern="[0-9]*" simple pattern="[0-9]*" qui ne fonctionne pas sous Android

Cela devrait fonctionner. Mais j’ai les mêmes problèmes sur un téléphone Android.

   

J’ai découvert que si je n’incluais pas le framework jquerymobile, le clavier était correctement affiché sur les deux types de champs.

Mais je n’ai pas trouvé de solution pour résoudre ce problème, si vous devez vraiment utiliser jquerymobile.

UPDATE: J’ai découvert que si la balise-formulaire était stockée en dehors du

 

Le clavier numérique n’est pas affiché. Ce doit être un bug …

Certains navigateurs envoient le zéro au serveur lorsque le type d’entrée est “numéro”. J’utilise donc un mélange de jquery et de html pour charger un pavé numérique et m’assurer que la valeur est envoyée sous forme de texte et non sous forme de nombre:

 $(document).ready(function(){ $(".numberonly").focus(function(){$(this).attr("type","number")}); $(".numberonly").blur(function(){$(this).attr("type","text")}); }) 
   

Ajouter un atsortingbut d’étape à l’entrée de numéro

  

Source: http://blog.pamelafox.org/2012/05/sortingggering-numeric-keyboards-with-html5.html

input type = number

Lorsque vous souhaitez fournir une entrée numérique, vous pouvez utiliser la valeur de l’atsortingbut HTML5 input type = “number”.

  

Voici le clavier qui apparaît sur l’iPhone 4:

Capture d’écran iPhone du numéro de type de saisie HTML5 Android 2.2 utilise ce clavier pour le type = numéro:

Capture d’écran Android du numéro de type d’entrée HTML5