Désactiver les suggestions de texte d'entrée dans Edge?
j'ai construit un composant TextBox dropdown AngularJS qui fonctionne très bien dans Chrome, Firefox, Safari et Internet Explorer.
une caractéristique de ce composant est que vous tapez une chaîne de caractères, puis pouvez utiliser les flèches haut/bas pour faire défiler les suggestions.
Dans Microsoft Bord, dès que vous cliquez sur la flèche vers le bas, le texte suivant est ajouté à la zone de saisie:
expliquez brièvement vos changements (orthographe corrigée, grammaire corrigée, amélioration). mise en forme)
Est-ce que je peux faire côté client pour arrêter cela?
html lang-html prettyprint-override"><form>
<input type="text" />
</form>
pour démontrer ceci, lancez le snipper ci-dessus, tapez quelque chose dans la zone de texte et frappez la flèche vers le bas deux fois sur le bord. Je ne veux pas que cela arrive, car cela brise mon autocomplete!
Merci
4 réponses
si je comprends bien, vous avez un problème avec la fonctionnalité autocomplete. Ajoutez simplement "autocomplete=' off '" à votre entrée et cela devrait désactiver la fonctionnalité.
<input type="text" autocomplete="off"/>
À Partir De Mozilla:
Vous pouvez définir l'autocomplete sur la balise de forme actuelle <form autocomplete='off' ... >...</form>
qui fonctionnera pour le formulaire entier, ou sur l'individu <input type='text' />
balises.
D'après mon expérience sur IE 11 et Edge le mettre sur la forme fonctionne, mais les étiquettes individuelles ne fonctionne pas. J'ai essayé de tester sur Chrome mais les champs n'étaient déjà pas autocompleting.
Veuillez lire l'intégralité de l' Article pour plus d'informations.
NOTE
la plupart des navigateurs ne tiennent pas compte de cela pour les champs de connexion.
si vous en avez besoin app/à l'échelle du site, vous pouvez utiliser jquery:
$('input').attr('autocomplete','off');
Ou si vous êtes comme moi et à l'aide de Angulaire+ui-router vous pouvez essayer la commande suivante:
Dans votre index.html
ajouter le script suivant:
<script type="text/javascript">
setTimeout(function() {
$('input').attr('autocomplete', 'off');
}, 2000);
</script>
ensuite, pour couvrir les changements d'état, ajoutez ce qui suit à votre contrôleur root:
$rootScope.$on('$stateChangeStart', function() {
$timeout(function () {
$('input').attr('autocomplete', 'off');
}, 2000);
});
les timeouts sont pour le rendu html avant d'appliquer le jquery.
Si vous trouvez une meilleure solution s'il vous plaît laissez-moi savoir.
<input type="text" autocomplete="off" list="autocompleteOff"
id="fieldId" name="fieldname" placeholder="Placeholder here" />
cela force Edge à trouver une liste de recherche de données appelée autocompleteOff
qui n'existe pas. Fonctionne un régal pour moi.
L'avantage ajouté est que C'est HTML pur, pas CSS ou JS requis.