我目前正在尝试删除用户浏览器完成的表单自动完成功能,这可能会导致一些关键行为,因为它填充了密码字段。我已经在我的所有文本框字段中添加了autocompletion属性,但是当我尝试使用firefox时,它仍会将我当前的登录信息加载到字段中。
有谁知道如何解决这个问题?
编辑:由于不清楚,我已经添加了aucompletion属性,其值设置为“off”。
答案 0 :(得分:18)
html中有autocomplete=off
属性。
在此页面的右上方搜索框中使用它,检查您将看到的html:
<input autocomplete="off" name="q" class="textbox" placeholder="search" ..... />
请参阅此MDN文章:https://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion
在MVC中,您可以在表单或文本框中实现此功能:
Html.BeginForm(
action, controller, FormMethod.Post, new {autocomplete="off"})
OR
Html.TextBoxFor(model => model.EmployerNumber, new {autocomplete="off"})
答案 1 :(得分:1)
如果您选中HERE,则可以在表单上设置autocomplete="off"
。
答案 2 :(得分:0)
您可以随机化文本框的id和name属性 - 这会使浏览器自动完成功能无效。
我的实施
在视图中:
<%
var guidString = Guid.NewGuid().ToString();
%>
<%=Html.TextBox(guidString, String.Empty)%>
<%=Html.Hidden("NameGuid", guidString) %>
控制器中的:
string userName = Request[model.NameGuid];
...
答案 3 :(得分:0)
HTML5具有表单/输入元素的附加语法,称为autocomplete =“off”。 见http://www.w3schools.com/html5/att_form_autocomplete.asp