我遇到了一个非常讨厌的问题,我希望这只是我错过的一个设置。我有一个ASP.NET应用程序,允许用户在不同的地方输入他们的用户名/密码(例如登录,更改密码,更改用户名等)。当我登录时,浏览器询问我是否要存储用户详细信息。通常,我点击“否”,但这次我决定点击“是”。现在,我的表单中的某些文本框预先填入了用户名或密码。是否可以删除它们,因为它们有时会出现在不应预先填充的文本框中。我尝试设置AutoCompleteType=none
和Text=''
,但仍会预先填充。除了相同的CssClass
和密码框TextMode=password
之外,文本框没有太多共同之处。名称不同,但有时它们包含单词name
(例如fullName,userName)。有没有办法阻止浏览器填充某些文本框?
由于
答案 0 :(得分:32)
<input type="text" name="Username" autocomplete="off">
您也可以将其放在form
标记上。请注意,这在所有浏览器中都不能保持一致。
答案 1 :(得分:1)
唯一对我有用的解决方案是包含两个字段,一个用于登录,另一个用于密码,显示为:none
<input type="text" style="display: none">
<input type="password" style="display: none">
答案 2 :(得分:1)
<asp:TextBox ID="Text1" runat="server" AutoCompleteType="Disabled"></asp:TextBox>
如果您碰巧在更新的框架中工作,则此代码应按预期工作。它已经存在了8年,这里的一些答案已经过时了。
答案 3 :(得分:0)
如果您设置了autocomplete =&#34; off&#34; ...文本框将会丢失其历史记录中的每个字词... 但是如果你想阻止浏览器保存的用户名和密码,最好的方法是将这些标签放在你的页面顶部:
<input type="text" style="display: none">
<input type="password" style="display: none">
答案 4 :(得分:0)
就我而言,我需要两者:autocomplete="off" AutoCompleteType="Disabled"
我还使用了 rome.js 中的时间选择器,并防止用户在 keydown 上输入文本框,从而使事情变得复杂。
<asp:TextBox ID="txtReturnTime" autocomplete="off" AutoCompleteType="Disabled" onkeydown="this.blur();" AutoPostBack="true" runat="server" ClientIDMode="Static"></asp:TextBox>
<script>
rome(txtReturnTime, { date: false, min: '07:15', max: '15:31', timeInterval: 900 });
</script>