78 votes

Les éléments de saisie doivent avoir des attributs d'autocomplétion

Je reçois ce message dans la console et je ne le comprends pas. Veuillez examiner la question

    <!DOCTYPE html>
<html>
<head>
    <title>registration page</title>
        <script src="js/jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
        $('form').submit(function(event){
    "use strict";
        var valid = true,
        message = '';    
            $('.error').remove();           
   $('form input').each(function() {
        var $this = $(this);   
        if(!$this.val()) {
            message='';
            var inputName = $this.attr('name');
            valid = false;
            message += 'Please enter your ' + inputName + '\n';
            $(this).closest('div').append('<div class="error">'+message+'</div>');           
        }
})
           if(!valid){
                event.preventDefault();
        }else{
$('form').serialize()
        }
})
})
    </script>
</head>
<body>
<form>
<div>
    <label>Name</label>
    <input type="text" name="name"><br>
</div>
<div>
    <label>File</label>
    <input type="file" name="file"><br>
</div>
<div>
    <label>password</label>
    <input type="password" name="password"><br>
</div>
<button type='submit'>Submit</button>
</form>
</body>
</html>

Le problème est que malgré l'absence d'erreur, je continue à obtenir ce message

[DOM] Input elements should have autocomplete attributes (suggested: "current-password"): 

On m'a fourni un lien google dans la console qui m'amène à (Plus d'informations : goo.gl/9p2vKq)

144voto

dearsina Points 1932

Essayez de changer

<input type="password" name="password">

à

<input type="password" name="password" autocomplete="on">

Autocomplétion permet aux développeurs web de spécifier la permission éventuelle de l'agent utilisateur de fournir une assistance automatisée pour remplir les champs de formulaire, ainsi que des indications au navigateur quant au type d'information attendu dans le champ.

C'est assez puissant.

10 votes

Je ne veux pas utiliser la complétion automatique. C'est mon choix. Pourquoi est-ce obligatoire ?

7 votes

Ce n'est pas le cas, vous pouvez également définir cette valeur sur "off".

1 votes

Dans les versions précédentes de chrome, il n'était pas nécessaire d'utiliser l'auto-complétion, mais maintenant, avec la version mise à jour, nous devons le spécifier.

14voto

RICHARD ABRAHAM Points 1078

Désactiver l'autocomplétion

Vous disposez des éléments suivants options pour travailler avec les erreurs du format ci-dessous Les éléments de saisie doivent avoir des attributs d'autocomplétion lancés par la console en modifiant :

<input type="password" name="password">
  1. Définissez le autocomplete à l'attribut off au <form> ou <input> qui :

    • Oblige le navigateur à NE PAS stocker de données
    • Désactive la mise en cache des données du formulaire dans l'historique de la session.

    <input type="password" name="password" autocomplete="off">

  2. Une autre façon d'empêcher le remplissage automatique par le navigateur est :
    Les suggestions ci-dessous sont spécifiques à chaque navigateur

    <input type="password" name="password" autocomplete="new-password"> <!-- For Mozilla--> <!-- or --> <input type="password" name="password" autocomplete="current-password"> <!-- For Chrome-->

7voto

Srishti Gupta Points 326

De Documents de conception des projets Chromium :

Les attributs d'autocomplétion aident les gestionnaires de mots de passe à déduire l'objectif d'un champ dans un formulaire, ce qui leur évite d'enregistrer ou de remplir automatiquement les mauvaises données par accident.

Vous pouvez utiliser le autoComplete sur un élément HTML qui doit être géré par un gestionnaire de mots de passe pour remplir automatiquement sa valeur. La valeur de autoComplete dépend du champ sur lequel vous souhaitez transmettre plus d'informations au gestionnaire de mots de passe. Considérez les exemples suivants :

  1. Champ du mot de passe actuel - autoComplete="current-password"
  2. Champ du nouveau mot de passe - autoComplete="new-password"
  3. Champ de la carte de crédit - autoComplete="cc-number"

2voto

shotgun02 Points 292

C'est en chrome Il s'agit de faire en sorte que les fonctionnalités de gestion des mots de passe des navigateurs et des extensions puissent comprendre les formulaires d'inscription, de connexion et de modification des mots de passe de votre site en enrichissant votre HTML d'un soupçon de métadonnées.

ceci pourrait vous aider https://www.chromium.org/developers/design-documents/form-styles-that-chromium-understands

2 votes

Je ne veux pas utiliser la complétion automatique. C'est mon choix. Pourquoi est-ce obligatoire ?

2voto

sef Points 109

TypeScript 3.9 m'a fait utiliser autoComplete -- "C" majuscule

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X