Comment le formulaire remplissage automatique fonctionne-t-il dans les navigateurs Web modernes? Quelles sont les techniques les plus couramment utilisées dans les navigateurs qui implémentent le remplissage automatique de formulaires?
-- ÉDITER --
La question ne concerne pas la saisie semi-automatique, mais la saisie automatique des formulaires, qui se soucie non seulement des valeurs précédemment saisies mais également de la signification et de la structure du champ à remplir. Google Chrome, par exemple, essaie d'analyser les champs saisis pour deviner leur type et leur structure. Ou du moins est-ce ce que j'ai compris du code lié ci-dessus.
Jetez un œil à cette réponse par kmote.
Le fait saillant est que le navigateur regarde la balise name
du champ et fait une supposition éclairée sur le type de données qui y irait (la correspondance d'expression régulière est une bonne façon naïve de le faire). Chrome travaille pour obtenir une sorte de normalisation afin que ce ne soit pas aussi aléatoire).
Différentes technologies et navigateurs utilisent différentes méthodes pour calculer ce qu'il faut afficher ainsi que la façon dont il l'affiche, mais certaines sources à vérifier sont:
Si vous cherchez à l'implémenter (ou simplement à l'utiliser) vous-même, je vous recommande fortement de jeter un œil au plugin.
Le premier élément de réponse est simplement l'attribut autocomplete
du formulaire HTML non standard introduit avec Internet Explorer il y a quelques années.
Ironiquement, vous pouvez lire une bonne histoire une introduction sur le site de mozilla ici: L'attribut de saisie semi-automatique et les documents Web en utilisant XHTML
Cette question est assez ancienne mais j'ai une réponse mise à jour pour 2017 !
Pour déclencher la saisie semi-automatique, tout ce que vous avez à faire est de le nommer correctement.
La réponse suivante est tirée de ma réponse originale d'ici: https://stackoverflow.com/a/41965106/169615
Voici un lien vers l'officiel norme HTML WHATWG actuelle pour activer la saisie semi-automatique.
Google a écrit un joli joli guide pour développer des applications Web qui sont conviviales pour les appareils mobiles. Ils ont une section sur la façon de nommer les entrées sur les formulaires pour utiliser facilement le remplissage automatique. Même s'il est écrit pour mobile, cela s'applique à la fois au bureau et au mobile!
Voici quelques points clés sur la façon d'activer la saisie semi-automatique:
<label>
pour tous vos <input>
champs autocomplete
à votre <input>
tags et remplissez-le à l'aide de cette guide .name
et autocomplete
pour tous les <input>
balises Exemple:
<label for="frmNameA">Name</label>
<input type="text" name="name" id="frmNameA"
placeholder="Full name" required autocomplete="name">
<label for="frmEmailA">Email</label>
<input type="email" name="email" id="frmEmailA"
placeholder="[email protected]" required autocomplete="email">
<!-- note that "emailC" will not be autocompleted -->
<label for="frmEmailC">Confirm Email</label>
<input type="email" name="emailC" id="frmEmailC"
placeholder="[email protected]" required autocomplete="email">
<label for="frmPhoneNumA">Phone</label>
<input type="tel" name="phone" id="frmPhoneNumA"
placeholder="+1-555-555-1212" required autocomplete="tel">
<input>
Mots clésAfin de déclencher la saisie semi-automatique, assurez-vous de nommer correctement les attributs name
et autocomplete
dans votre <input>
Mots clés. Cela permettra automatiquement la saisie semi-automatique sur les formulaires. Assurez-vous également d'avoir un <label>
! Cette information peut également être trouvée ici .
Voici comment nommer vos entrées:
name
: name fname mname lname
autocomplete
: name
(pour le nom complet)given-name
(pour le prénom)additional-name
(pour le deuxième prénom)family-name
(pour le nom de famille)<input type="text" name="fname" autocomplete="given-name">
name
: email
autocomplete
: email
<input type="text" name="email" autocomplete="email">
name
: address city region province state Zip zip2 postal country
autocomplete
: street-address
address-line1
address-line2
address-level1
(état ou province)address-level2
(ville)postal-code
(Code postal)country
name
: phone mobile country-code area-code exchange suffix ext
autocomplete
: tel
name
: ccname cardnumber cvc ccmonth ccyear exp-date card-type
autocomplete
: cc-name
cc-number
cc-csc
cc-exp-month
cc-exp-year
cc-exp
cc-type
name
: username
autocomplete
: username
name
: password
autocomplete
: current-password
(pour les formulaires de connexion)new-password
(pour les formulaires d'inscription et de changement de mot de passe)