J'ai une page d'inscription qui comprend tous les champs standard, par exemple. numéro de téléphone, email etc.
Le téléphone et le mot de passe sont des tabulations adjacentes, c’est-à-dire pas physiquement adjacentes, mais si vous utilisez la tabulation, cela va prénom -> nom -> email -> téléphone -> mot de passe.
Pour une raison quelconque, invite les utilisateurs à se souvenir de leur nom d'utilisateur et de leur mot de passe lors de leur enregistrement (Nice), mais le numéro de téléphone est enregistré sous le nom d'utilisateur.
Existe-t-il des règles pour l’aider à décider/empêcher que cela suggère aux gens de se souvenir de la combinaison toujours utile de numéro de téléphone/mot de passe?
Merci d'avance
EDIT:
Les noms sur les éléments de formulaire sont "Phone" et "txtpassword".
Je voudrais qu'il retienne l'email et le mot de passe. Est-ce réalisable compte tenu de la situation actuelle?
Malheureusement, je ne peux pas réorganiser les champs de formulaire. L'ordre est indiqué dans la tabulation ci-dessus.
Utilisez autocomplete = "off" pour désactiver la saisie semi-automatique et Firefox (et les autres navigateurs prenant en charge cet attribut non standard) n'enregistrera pas ces valeurs.
<input type=text" name="dontsave" autocomplete="off">
Edit:
Ce que vous voyez peut être dû aux noms de champs que vous utilisez. La saisie automatique recherche les noms de champs de nom d'utilisateur/de connexion courants et votre champ de numéro de téléphone peut amener Firefox à croire qu'il s'agit du champ ID de connexion principal.
Edit 2:
Le champ de courrier électronique est-il avant ou après le champ Téléphone? Si c'est après, est-il possible de le mettre avant le champ Téléphone? Si oui, cela fait-il une différence?
Ce n'est généralement pas possible sans réorganiser vos champs ou sans un hack. Votre champ username
doit être juste avant votre champ password
dans Firefox.
J'ai eu le même problème mais nom de famille au lieu de téléphone . Après des heures d'essayer des choses cette réponse l'a fait comprendre. Firefox (au moins dans la version actuelle) recherche un champ de mot de passe. Ensuite, il prend le champ qui le précède comme champ de nom d'utilisateur et demande à l'utilisateur s'il souhaite enregistrer ces informations d'identification.
La saisie semi-automatique n'est pas le problème (principal) ici. Même si la saisie semi-automatique est désactivée pour l'ensemble du formulaire, Firefox vous demandera toujours si vous souhaitez enregistrer vos informations d'identification.
Vous pouvez faire quelque chose comme ça:
<input type="text" name="username" autocomplete="username">
<input type="default" name="email" autocomplete="email">
<input type="password" name="password" autocomplete="new-password">
Firefox dans la version actuelle recherche le premier champ de mot de passe. À partir de là, le premier champ précédent de type text
ou email
recherche le champ de nom d'utilisateur.
Nous pouvons donc le tromper en utilisant un type de champ invalide (default
n'est PAS un type de champ valide). Alors maintenant, vous n'avez pas besoin de réorganiser les champs pour satisfaire Firefox. Lorsqu'un navigateur ne connaît pas le type de champ, il affiche simplement un champ de texte normal.
Safari utilise un mécanisme différent et je n’ai eu aucun problème avec celui-ci. Je pense que cela regarde les noms des champs.
Les attributs de saisie semi-automatique donnent au navigateur une indication supplémentaire de l'utilisation de chaque champ.
J'ai déjà constaté un comportement similaire dans Google Chrome. Quels sont les noms donnés aux champs de saisie? Je sais que les navigateurs ont souvent des problèmes avec les champs s’ils utilisent un code tel que name="signup[email]"
pour tout transférer dans une variable côté serveur (très utile en PHP).
Vous pouvez essayer d'utiliser ce format simple: <input name="username" type="text">
avec email
et password
comme noms pour ces deux champs. (Remarque: je n'ai pas réellement testé cela lorsque je suis tombé sur cette situation avant que je ne puisse pas changer les noms de champs.)