我使用下面的脚本尝试关闭所有表单数据的自动完成功能。
$(document).ready(function () { $("input").attr("autocomplete", "off"); });
但是,chrome仍会保存自动填充数据,并在我的登录表单中显示上一个条目。这也适用于IE。
如何阻止它保存以前输入的数据/文字?如果用户接受浏览器提示以保存下次输入的数据,如何防止保存的数据输入,因为它可能是公共计算机上保存的密码等潜在的安全问题?
我正在使用带有Kendo UI的ASP .NET MVC3来处理所有表单数据。
示例表单数据条目如下所示:
<div class="editor-field">
@Html.TextBoxFor(model => model.first_name, ViewBag.InactivePatient ? (object)new {@class = "formTextbox k-textbox" , disabled="disabled" } : new {@class = "formTextbox k-textbox"})
@Html.ValidationMessageFor(model => model.first_name)
</div>
另外,我尝试手动将autocomplete = off设置为每个表单条目,但它导致我出现更多错误,我不想将autocomplete = off附加到每个条目。
另外,我尝试将 new {autocomplete ="off"}
附加到 @using (Ajax.BeginForm(null, null, new AjaxOptions { }, new { id = "patientForm" }))
,但是我收到了错误消息。所以,我问的是我不知道如何关闭asp .net表单中的自动完成功能。
答案 0 :(得分:0)
将模型传递给使用预先填充空格的电子邮件和密码属性进行查看。
new UserEditModel {Email =&#34; &#34;,密码=&#34; &#34;};
以这种方式重置javascript中的相应输入:
function resetInputs() {
$('input[name="Password"]').val('');
$('input[name="Email"]').focus(function() {
$(this).val('');
});
}
注意:诀窍是清除密码输入并将事件处理程序(焦点上)放在电子邮件输入上,这样只有当用户开始输入他的电子邮件时才会清除它。如果你立刻清除了两个输入,它就不会工作。