Google Chrome不支持ASP.NET自动填充功能

时间:2013-04-26 09:42:48

标签: asp.net google-chrome autocomplete

我正在使用以下ASP.NET代码使我的输入框不使用自动完成:

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

它适用于微软自己的IE浏览器,但谷歌浏览器仍允许自动完成。那么我做错了什么?

3 个答案:

答案 0 :(得分:1)

对于Chrome,autocomplete="off"规范必须放在form标记上。

答案 1 :(得分:1)

最新版Google Chrome会强制自动填充,而不管Autocomplete=off。以前的一些黑客不再工作(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: 它删除了&#34; name&#34;和&#34; id&#34;来自元素的属性,并在1ms后将它们分配回来。把它放在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);
            });

答案 2 :(得分:0)

在表单标签中放置autocomplete = off不再起作用。 Google会忽略它。

我已经通过重命名文本框解决了该问题。请勿在名称中使用google可以自动完成提示的任何提示(例如名称,地址,邮政编码等)。我已将txtName更改为txtN,并且autcomplete已停止。

如果这不起作用,请将autocomplete =“ new-name”直接放在表单上而不是文本框的属性中。

<asp:TextBox autocomplete="new-name" ID="txtName"  runat="server"></asp:TextBox>