Как отключить автозаполнение браузера в поле веб-формы / теге ввода? - PullRequest
2553 голосов
/ 05 августа 2008

Как отключить autocomplete в основных браузерах для определенного input (или form field)?

Ответы [ 64 ]

1 голос
/ 19 марта 2018

Вы также можете использовать вместо ввода , чтобы пропустить автозаполнение части.

1 голос
/ 26 марта 2018

наконец я получил решение сначала добавьте 2 скрытых текстовых поля

и просто добавьте угловую директиву, подобную этой

 (function () {

    'use strict';

    appname.directive('changePasswordType', directive);

    directive.$inject = ['$timeout', '$rootScope',  '$cookies'];

    function directive($timeout,  $rootScope, $cookies) {
        var directive = {
            link: link,
            restrict: 'A'
        };

        return directive;

        function link(scope,element) {
            var process = function () {
                var elem =element[0];
                elem.value.length > 0 ? element[0].setAttribute("type", "password") :
                element[0].setAttribute("type", "text");
            }

            element.bind('input', function () {
                process();
            });

            element.bind('keyup', function () {
                process();
            });
        }
    }
})()

затем используйте его в текстовом поле, где вам нужно предотвратить автоматическое заполнение

    <input type="text" style="display:none">\\can avoid this 2 lines
    <input type="password" style="display:none">
    <input type="text"  autocomplete="new-password" change-password-type>

NB: не забудьте включить jquery и установить type ="text" изначально

0 голосов
/ 19 апреля 2019

Вы можете добавить имя в атрибуте name как email адрес к вашей форме и сгенерировать значение электронной почты, например:

<form id="something-form">
  <input style="display: none" name="email" value="randomgeneratevalue"></input>
  <input type="password">
</form>

Если вы используете этот метод, Google Chrome не сможет вставить пароль автозаполнения.

0 голосов
/ 08 сентября 2008

Почему вы делаете жизнь своего пользователя менее удобной?

«Пароли / данные кредитной карты и т. Д. Не должны сохраняться» - плохой аргумент: при автозаполнении браузеры в Mac OS X хранят такие значения в зашифрованной базе данных с разрешениями для каждого приложения. И наоборот, каков реалистичный эффект autocomplete=off? Пользователь собирается записать его в незашифрованном текстовом файле или, что еще лучше, в записке, прикрепленной к экрану.

Хорошо, что есть букмарклеты, подобные упомянутому Antti, и патчи, чтобы двигатель полностью игнорировал атрибут .

Серьезно, я призываю вас пересмотреть использование этого атрибута. Это не приносит пользу никому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...