2013-04-26 4 views
0

Я использую следующий код ASP.NET, чтобы сделать мое поле ввода, чтобы не использовать автозаполнение:ASP.NET автозаполнения не уважается Google Chrome

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

Он работает с собственным IE от Microsoft, но Google Chrome еще позволяет автозаполнение на нем. Так что я делаю неправильно?

+0

Я считаю, что это всего лишь настройка броузера. – DiederikEEn

+1

попробуйте использовать autocomplete = "off" –

+0

@ShafqatMasood: Если я не ошибаюсь 'autocomplete =" off "' не является допустимым тегом ASP.NET, но он работает. В IE, хотя я получаю 'autocomplete =" off "' дважды в финальном отображаемом HTML-вводе тега ... – c00000fd

ответ

1

Для Chrome спецификация autocomplete="off" должна быть размещена на теге form.

1

Последние версии сил Google Chrome Автозаполнение независимо от Autocomplete=off .some предыдущих взломов не работают (34+ версии)

Я тестировал следующий код на Google Chrome V36.

Решение 1: Ввод 2 строки кода под под <form ..> тег делает трюк.

<form id="form1" runat="server" > 
<input style="display:none" type="text" name="fakeusernameremembered"/> 
<input style="display:none" type="password" name="fakepasswordremembered"/> 

... 

Read more

Решение 2: Он удаляет "имя" и "идентификатор" атрибуты элементов и присваивает их обратно после того, как 1мс. Поместите это в document get ready.

$('form[autocomplete="off"] input, input[autocomplete="off"]').each(function() { 

       var input = this; 
       var name = $(input).attr('name'); 
       var id = $(input).attr('id'); 

       $(input).removeAttr('name'); 
       $(input).removeAttr('id'); 

       setTimeout(function() { 
        $(input).attr('name', name); 
        $(input).attr('id', id); 
       }, 1); 
      });