Question

J'ai un client qui voulait leur interface utilisateur pour les noms de champs d'affichage sous une forme (champ nom d'utilisateur dit « nom d'utilisateur », champ de mot de passe dit « mot de passe », etc.). Etant donné que la forme utilise un type de mot de passe <input> (qui, normalement, affiche des points), il fallait données fictives de remplissage dans les champs en les recouvrant avec des divs qui contenaient le verbiage.

Reconnaître autofill, je l'ai écrit un certain Javascript qui vérifie si le champ est rempli et agit en conséquence (soit masquer ou afficher le verbiage).

Pour autant que je peux dire, Chrome est le seul navigateur qui va bancal. Il ne semble pas se soucier s'il y a autofill données ou non, et le verbiage superpose toujours les données de remplissage automatique (apparemment parce que la fonctionnalité de hide n'est pas déclenché).

Ma question de longue haleine est fait des données Lorsque Chrome dans le remplissage automatique processus de rendu? -T-il attendre que Javascript est fini aussi bien? Est-il possible pour moi de vérifier si les données autofill occupe un champ dans Chrome?

Était-ce utile?

La solution 2

J'ai décidé de joindre un auditeur à un événement qui a activé le modal qui contenait les formes. Inutile de dire que cela est une solution qui ne fonctionne que dans mes circonstances particulières. Je ne considère pas cette réponse, mais je suis ici pour l'afficher peut-être donner aux autres la recherche d'une solution, une solution de contournement.

Autres conseils

Une solution simple serait d'utiliser le placeholder attribut de HTML5, pris en charge par WebKit et Firefox. Il faudrait un peu plus de détection de caractéristiques, mais alors vous ne devez mettre en œuvre la superposition maquette en non-Chrome.

Plongez au coeur de l'explication HTML5

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top