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

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

Ответы [ 64 ]

8 голосов
/ 02 ноября 2012

Вы можете использовать на входе.

Например;

<input type=text name="test" autocomplete="off" />
6 голосов
/ 13 апреля 2018

Нет поддельных входов, нет JavaScript!

Нет способа последовательно отключить автозаполнение в разных браузерах. Я перепробовал все различные предложения, и ни одно из них не работает во всех браузерах. Единственный способ не использовать ввод пароля вообще. Вот что я придумал:

<style type="text/css">
    @font-face {
        font-family: 'PasswordDots';
        src: url('text-security-disc.woff') format('woff');
        font-weight: normal;
        font-style: normal;
    }

    input.password {
        font-family: 'PasswordDots' !important;
        font-size: 8px !important;
    }
</style>

<input class="password" type="text" spellcheck="false" />

Загрузить: text-security-disc.woff

Вот как выглядит мой конечный результат:

Password Mask

Отрицательным побочным эффектом является то, что можно скопировать простой текст из ввода, хотя это должно быть возможно предотвратить с помощью некоторых JS.

6 голосов
/ 10 декабря 2015

Chrome планирует поддержать это .

На данный момент лучшее предложение - использовать тип ввода, который редко заполняется автоматически.

обсуждение хрома

<input type='search' name="whatever" />

, чтобы быть совместимым с Firefox, используйте обычное автозаполнение = 'off'

<input type='search' name="whatever" autocomplete='off' />
6 голосов
/ 25 февраля 2016

Вы можете отключить автозаполнение, если уберете тег form, мой банк сделал то же самое, и мне было интересно, как они это сделали. Он даже удаляет значение, которое уже запомнилось браузером после удаления тега.

6 голосов
/ 21 декабря 2017

Многие современные браузеры больше не поддерживают autocomplete = "off" для полей входа в систему. autocomplete="new-password" вместо этого, больше информации MDN документы

5 голосов
/ 12 июля 2016

Моя проблема была в основном автозаполнением с Chrome, но я думаю, что это, вероятно, более проблематично, чем автозаполнение.

Трюк: использование таймера для сброса формы и установки пустых полей пароля. Длительность 100 мс кажется минимальной для его работы.

$(document).ready(function() {
    setTimeout(function() {
        var $form = $('#formId');
        $form[0].reset();
        $form.find('INPUT[type=password]').val('');
    }, 100);
});
5 голосов
/ 16 июня 2016

Ответ dsuess , опубликованный только для чтения, был очень умным и сработал. Но так как я использую boostrap, поле ввода только для чтения - пока не сфокусировано - было отмечено серым фоном. Пока документ загружается, вы можете обмануть браузер, просто заблокировав и разблокировав ввод.

Итак, у меня была идея внедрить это в решение jQuery:

    jQuery(document).ready(function () {
        $("input").attr('readonly', true);
        $("input").removeAttr('readonly');
   });
5 голосов
/ 16 ноября 2015
<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        try {
            $("input[type='text']").each(function(){
                           $(this).attr("autocomplete","off");
                        });
        }
        catch (e)
        { }
    });

</script>
5 голосов
/ 12 мая 2016

Вы можете просто вставить autocomplete="off" в поля HTML, как показано в следующем коде.

<input type="text" name="" value="" autocomplete="off" />
5 голосов
/ 19 марта 2016

Это то, что мы назвали автозаполнением текстового поля. enter image description here Мы можем отключить автозаполнение текстового поля двумя способами -

  1. По метке браузера
  2. По коду

    Для отключения в браузере перейдите к настройке

    To dissable in browse go to the setting

Go to advance setting and uncheck the checkbox and then Restore.

Перейдите в предварительные настройки и снимите флажок, а затем Восстановите.

Если вы хотите отключить кодировку, вы можете сделать следующее:
Использование AutoCompleteType="Disabled":

<asp:TextBox runat="server" ID="txt_userid" AutoCompleteType="Disabled"></asp:TextBox>  

По форме установки autocomplete="off":

<asp:TextBox runat="server" ID="txt_userid" autocomplete="off"></asp:TextBox> 

По форме установки autocomplete="off":

<form id="form1" runat="server" autocomplete="off">  
    //your content
</form>  

Используя код на странице .cs

protected void Page_Load(object sender, EventArgs e)  
    {  
    if(!Page.IsPostBack)  
    {  


        txt_userid.Attributes.Add("autocomplete", "off");  

    }  
}  

Используя Jquery

head runat="server">  
<title></title>  
<script src="Scripts/jquery-1.6.4.min.js"></script>  
<script type="text/javascript">  
    $(document).ready(function () {  
        $('#txt_userid').attr('autocomplete', 'off');  

    });  

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