阻止浏览器填充包含详细信息的文本框

时间:2010-04-13 15:45:08

标签: asp.net textbox autocomplete browser-cache details

我遇到了一个非常讨厌的问题,我希望这只是我错过的一个设置。我有一个ASP.NET应用程序,允许用户在不同的地方输入他们的用户名/密码(例如登录,更改密码,更改用户名等)。当我登录时,浏览器询问我是否要存储用户详细信息。通常,我点击“否”,但这次我决定点击“是”。现在,我的表单中的某些文本框预先填入了用户名或密码。是否可以删除它们,因为它们有时会出现在不应预先填充的文本框中。我尝试设置AutoCompleteType=noneText='',但仍会预先填充。除了相同的CssClass和密码框TextMode=password之外,文本框没有太多共同之处。名称不同,但有时它们包含单词name(例如fullName,userName)。有没有办法阻止浏览器填充某些文本框?

由于

5 个答案:

答案 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>