Utilisez-vous n'importe quel code JavaScript avec votre HTML, des choses comme JQuery / jQuery UI peuvent mettre à jour les champs lorsqu'ils sont définis sous forme de types spécifiques. Avez-vous essayé de désactiver JavaScript dans votre vue / navigateur Web pour vérifier?
IOS / Mobile Safari Modification de l'attribut Type basé sur l'étiquette?
-
04-07-2022 - |
Question
Je n'ai pas pu trouver de documentation ou d'autres rapports à ce sujet via Google.
Sur Mobile Safari (dans au moins iOS6 + 7), j'ai un formulaire en contenant plusieurs <input>
s avec type = "texte". Quelques de ces champs sont destinés à l'adresse e-mail et au numéro de téléphone de l'utilisateur et sont étiquetés de manière appropriée. Pour autant que je puisse dire que Mobile Safari change ces <input>
s pour leur donner un attribut "type" qu'il considère approprié à l'étiquette - par exemple, le champ de messagerie est donné Type = "Email", et le champ de numéro de téléphone est donné Type = "Number" (étrangement, pas type = "Tel "). Pour le champ de messagerie, cela ne pose aucun problème, mais le champ de numéro de téléphone ne rend pas la valeur par défaut car elle n'est pas dans le format correct pour un champ "numéro" (le numéro est affiché avec des espaces). Jusqu'à présent, je n'ai trouvé aucun JavaScript qui pourrait en être causé.
Je pourrais comprendre que cela se produit lorsque l'attribut "type" est complètement omis, mais j'ai vérifié que ces champs sont définitivement rendus avec Type = "Text" et j'ai confirmé que tous les principaux navigateurs de bureau rendent correctement les champs. Je ne pense même pas que ce serait un problème si le champ téléphonique était modifié en type = "tel" car je ne pense pas que ce type ait des restrictions de format.
Je teste sur iOS via le simulateur iOS de Xcode associé à l'inspecteur Web de Safari. Voici une capture d'écran du champ avec l'étiquette "téléphone mobile" dans l'inspecteur Web:
Et pour référence, voici comment ce champ est rendu (notez qu'aucune valeur n'est rendue):
Quelqu'un d'autre a-t-il rencontré cela?
Mise à jour: ce jsfiddle Fonctionne bien dans iOS, ce qui indique que cela pourrait être un problème JavaScript plutôt que sur webkit, bien que je n'aie pas pu découvrir un JavaScript qui pourrait en être à l'origine.
La solution