17

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

谢谢

4

5 回答 5

36
  <input type="text" name="Username" autocomplete="off">

你也可以把它放在form标签上。请注意,这并非在所有浏览器中都能始终如一地工作。

于 2010-04-13T15:46:59.633 回答
1

唯一对我有用的解决方案是包含两个字段,一个用于登录,一个用于显示密码:无 <input type="text" style="display: none"> <input type="password" style="display: none">

于 2015-01-21T05:19:48.687 回答
1

如果您设置 autocomplete="off"... 文本框将丢失其历史记录中的每个单词...但是如果您想阻止浏览器保存用户名和密码,最好的方法是将这些标签放在页面顶部:

<input type="text" style="display: none"> 
<input type="password" style="display: none">
于 2015-05-26T09:06:32.970 回答
1
<asp:TextBox ID="Text1" runat="server" AutoCompleteType="Disabled"></asp:TextBox>

如果您碰巧在更新得多的框架中工作,则此代码应该可以按预期工作。已经是 8 年前了,这里的一些答案已经过时了。

于 2018-04-23T17:51:40.797 回答
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>
于 2021-06-30T15:39:28.890 回答