Comment éteindre le clavier de l'iPhone pour un champ de saisie spécifié sur la page Web

J'utilise une entrée monthpicker (similaire à jQuery UI datepicker) pour un champ d'expiration de carte de crédit.

J'ai besoin de supprimer le clavier iPhone car il cache le sélecteur de mois.

J'ai essayé de définir le champ en lecture seule et ce n'est pas une solution acceptable. Dans Safari iOS 5.1, les champs de lecture sont ignorés dans la navigation par le clavier (les boutons prev / next du clavier). Le brouillage du champ n'est pas acceptable car il déclenche la validation (nous utilisons également la validation jQuery).

Existe-t-il un moyen d'éteindre le clavier de l'iPhone sur un seul champ sans le définir correctement ou le brouiller?

Je n'ai pas trouvé le chemin pour cacher le clavier. Mais avez-vous pensé à une autre manière d'afficher "entrée". Une option utiliserait <input type="month" /> qui apporte le sélecteur de mois natif dans iOS5.

La deuxième option serait le style par exemple. L'élément span comme élément d'entrée (-webkit-appearance ne fonctionne pas sur iOS), et ajouter tabindex pour l'élément. Cela pourrait également fonctionner, bien que je ne connaisse pas le sélecteur de mois que vous utilisez.

Troisième option: ne pouvez-vous pas empêcher le processus de validation lorsque le flou du champ est déclenché manuellement?

J'ai eu un même problème dans Drupal, où les champs de saisie seront ajoutés de manière dynamique, alors j'ai ajouté quelques js, en vérifiant l'option Iphone / Ipad et ajouté "readonly" propriété

 var checkUserAgent = navigator.userAgent; if (checkUserAgent.match(/iPad/i) || checkUserAgent.match(/iPhone/i)) { var checkBabyId1 = $('#babys_due_date_id').length > 0; if (checkBabyId1 == true) { $('#babys_due_date_id').find('input').prop('readonly', true); } }