Bonjour Lolo3129,
J'étais tombé sur un lien qui propose les mêmes solutions que le tiens,
J'y ai trouvé une autre solution pour contourner le problème, mais qui se rapproche beaucoup de ce dont j'ai besoin :
<input type="tel" id="CPinput" class="form-control" name="CPinput" placeholder="Entrez votre code postal" value="<?php if(isset($CPinput)) { echo $CPinput; } ?>" pattern="[0-9]*" maxlength="5" required />
J'ai utilisé un champ de type "tel" pour avoir un clavier numérique, avec le maxlenght qui fonctionne et un pattern qui n'autorise que les chiffres.
Donc, cela fonctionne, mais le clavier est un clavier "tel" et non "nombre" donc il y a des caractères en plus. Cependant, avec le pattern, ils ne peuvent être saisis.
J'ai aussi testé une autre solution, savoir utiliser un type text et spécifier l'utilisation d'un clavier exclusivement numérique, ce qui est ce que je veux.
Ça fonctionne bien sur le navigateur mobile Google Chrome ! Mais pas sur Firefox Mobile (qui reste avec un clavier "normal")
<input type="text" id="CPinput" class="form-control" name="CPinput" placeholder="Entrez votre code postal" value="<?php if(isset($CPinput)) { echo $CPinput; } ?>" inputmode="numeric" pattern="[0-9]*" minlength="5" maxlength="5" required />
Donc je n'ai pas encore de solution 100% parfaite, mais je m'en rapproche !
Je pense rester sur ma dernière solution et essayer de trouver comment spécifié à Firefox mobile d'utiliser un pavé numérique, sinon tant pis pour les firefox mobile !