0

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

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

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

4

3 回答 3

1

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

于 2013-06-11T20:47:59.483 回答
1

最新版本的谷歌浏览器强制自动填充,不管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"/>

...

阅读更多

解决方案 2: 它从元素中删除“name”和“id”属性,并在 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);
            });
于 2014-08-12T06:37:20.980 回答
0

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

我通过重命名文本框解决了这个问题。不要在名称中使用任何谷歌可以提示自动完成它的东西(名称、地址、邮政编码等)。我已将 txtName 更改为 txtN 并停止自动完成。

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

<asp:TextBox autocomplete="new-name" ID="txtName"  runat="server"></asp:TextBox>
于 2019-02-20T15:32:51.490 回答