2010-07-23 3 views
3

J'ai écrit une application HTML5 pour iPad. Il a un champ de saisie. Chaque fois qu'un utilisateur accède à cette page, le clavier contextuel apparaît. Comment puis-je supprimer ce comportement par défaut dans le contexte HTML5/JS?Comment puis-je supprimer le mode contextuel du clavier sur une application HTML5 pour iPad?

Dans mon application, si vous tapez un mot de passe de connexion &, il affiche un autre écran (sans rechargement de page). Mais le clavier existe toujours, et vous devez le cacher manuellement.

+0

Hmm .. Une solution de c'est pour le rendre handicapé ... Les autres? –

+0

Peut-être, comme dans mon cas, parce que vous avez un sélecteur de date jQuery assigné au champ. Mais la désactivation du champ désactive également le sélecteur de date. –

+0

Dans mon application, si vous avez tapé le nom d'utilisateur et mot de passe, il affiche un autre écran (sans recharger la page). Mais le clavier existe toujours ... Et vous devez le masquer manuellement ... –

Répondre

9

Je ne suis pas sûr de comprendre votre description de votre problème, il semble incomplet. Pourrais-je essayer de le reformuler, pour voir si je comprends bien?

  1. L'utilisateur ouvre Safari sur l'iPad
  2. Les types d'utilisateurs l'adresse de votre application HTML5 dans la barre d'adresse de Safari et tape le bouton « Go »
  3. L'utilisateur accède à la page de connexion de votre application. Ils tapent dans le champ du nom d'utilisateur, et le clavier contextuel apparaît.
  4. Ils tapent leur nom d'utilisateur, passent à la zone de mot de passe, tapez leur mot de passe et appuyez sur le bouton "Go".
  5. Votre application charge du contenu différent à l'écran via JavaScript. Le clavier contextuel est toujours présent.

Si c'est le problème que vous rencontrez, il peut être utile d'appeler la fonction blur sur vos champs de nom d'utilisateur et mot de passe avant de charger le contenu de la nouvelle page. Cela pourrait faire disparaître le clavier.

Si le code HTML pour ces champs ressemblait à ceci:

<input type="text" name="username" id="username"> 
<input type="password" name="password" id="password"> 

Alors le JavaScript serait:

document.getElementById('username').blur(); 
document.getElementById('password').blur(); 
+0

Il était juste flou() .. :) Merci l'homme! –

Questions connexes