Safari mobile prend en charge un attribut sur les éléments d'entrée appelés autocapitaliser Code>
[ documenté ici ], qui Lorsqu'il est réglé sur 'off' arrêtera l'iPhone capitalisant l'entrée de texte dans ce champ, ce qui est utile pour les champs URL ou de messagerie.
$(document).ready(function(){ jQuery('input.email, input.url').attr('autocapitalize', 'off'); });
5 Réponses :
Ceci devrait être corrigé dans iPhone OS 3.0. Quelle version de iPhone OS essayez-vous cela sur?
Ouais dans iPhone 3.0, ce code fonctionne bien, mais l'équivalent jQuery ne le fait pas, merci beaucoup
Ne fais pas ça. C'est complètement inutile et n'obfusque que la page.
S'il s'agit d'une fonctionnalité utile, vous devrez simplement choisir entre une validation stricte et une expérience utilisateur. Personnellement, je choisirais UX n'importe quel jour. P>
Donc, je ne pouvais donc pas obtenir JQuery de le faire, mais un vieux JavaScript, car DDKilzer a suggéré des œuvres, donc je mets ensemble cette fonction pour appliquer l'option autocapitalize = 'off' à toutes les entrées avec une classe spécifique:
Note latérale. Vous pouvez améliorer l'expérience utilisateur sur iOS plus encore plus en spécifiant le type de l'entrée pour être "Email" pour afficher automatiquement le clavier "Email" (des caractères légèrement meilleurs pour taper un email).
<input type="email" class="email" autocapitalize="off" />
C'est aussi invalide si vous l'ajoutez via un script ou si vous l'ajoutez dans le balisage. C'est juste que le validateur ne peut pas le remarquer si vous l'ajoutez via Script. P>
Il suffit de le mettre dans le balisage et mettez un commentaire à côté de celui-ci, comme code> De cette façon, les gens qui regardent le code dans le validateur sauront ce qui se passe. p>
Il est bien préférable de le spécifier dans le HTML et de subir un avertissement inoffensif que de le faire en JavaScript sans avantage réel. Vous avez remplacé quelque chose de simple, évident et rapide, qui fonctionne même sans script, avec quelque chose de compliqué inutilement.
@Glenn: pas exactement un avertissement inoffensif. Vous (et quelqu'un d'autre qui maintient le code) doit se rappeler que cet avertissement de validation spécifique n'a pas d'importance. Genre d'ennui.
@Paul: Le but des validateurs est de vous assurer que vous êtes au courant lorsque vous utilisez des fonctionnalités non standard, vous pouvez donc prendre une décision éduquée plutôt que de les utiliser inconsciemment. Ils ne sont pas là pour vous empêcher de les utiliser.
@Glenn: Bien sûr, mais je les utilise aussi pour attraper des erreurs de codage. C'est plus d'effort pour le faire si je dois me rappeler quelles erreurs ne sont pas réellement erreurs. (Idéalement, les validateurs seraient mis à jour avec des fonctionnalités personnalisées non standard mais utiles et fonctionnelles, telles que celles-ci et les énumérer comme des avertissements plutôt que des erreurs.)