web-dev-qa-db-fra.com

Comment désactiver Chrome fonctionnalité de saisie semi-automatique?

Nous voulons désactiver saisie semi-automatique dans Chrome dans notre application JavaScript React. Nous avons essayé un tas de solutions disponibles sur Internet, mais rien n'a fonctionné. autoComplete=off n'est pas fiable, tout comme d'autres moyens.

C'est vraiment important pour nous en ce moment, pouvez-vous s'il vous plaît nous suggérer un moyen infaillible pour désactiver la saisie semi-automatique dans Chrome using React JavaScript?

Deuxièmement, nous utilisons un contrôle/composant commun pour nos zones de texte et les utilisons partout

9
Shiva Wahi

Faire autocomplete="new-password" pour désactiver la saisie semi-automatique.

3
illiteratewriter

Vous pouvez remplacer chrome remplissage automatique en ajoutant l'attribut onFocus.

render()
{
  return <input type="text" name="name" value="this is my input" autoComplete="off" onFocus={this.onFocus} />
}

Dans la méthode onFocus, nous devons changer l'attribut "autocomplete" via javaScript.

onFocus = event => {

   if(event.target.autocomplete)
   {
     event.target.autocomplete = "whatever";
   }

};

Cette solution fonctionne pour moi.

dites-moi si cela marche pour vous ;)

0
Dekel Dahan

J'ai eu le même problème avec mon projet React. Ma solution consiste à utiliser une chaîne aléatoire pour l'attribut autoComplete. N'utilisez pas "off", comme Pim , vous devez définir une valeur non valide pour vraiment désactiver la complétion automatique. Veuillez également noter que le nom de l'attribut doit être autoComplete dans React.

0
zhengshan cao

Le seul hack qui a fonctionné pour moi est de créer une entrée cachée et d'ajouter un nombre aléatoire pour le nom d'entrée d'origine:

<input type="text" name="" value="" readOnly={true} style={{display: "none"}}/>
<input
  type="text"
  name={"address " + Math.random()}
/>
0
Alexander