我正在使用以下ASP.NET代码使我的输入框不使用自动完成:
<asp:TextBox ID="TextBoxID" AutoCompleteType="Disabled" runat="server"></asp:TextBox>
它适用于微软自己的IE浏览器,但谷歌浏览器仍允许自动完成。那么我做错了什么?
答案 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"/>
...
解决方案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>