我需要阻止在我的MVC 5网站上存储用户名/密码。
我已将表单和输入元素都设置为autocomplete =“off”,我确信该网站正在运行HTML5。对于所有意图和目的,它不应该存储登录信息,但是,它仍然在登录后提示它。
正如所建议的那样,我尝试将输入字段名称更改为“username”和“password”以外的名称,但它没有改变任何内容。
我甚至尝试过添加虚拟用户名和放大器的技巧。密码隐藏在表单之外的元素,也在表单内部尝试过。没有快乐。
我也试过在jQuery中做,但没有成功
$("input").attr("autocomplete", "off");
表格标签:
<form action="/" autocomplete="off" class="form-horizontal" method="post" role="form" novalidate="novalidate">
输入元素:
<input autocomplete="off" class="form-control" data-val="true" data-val-regex="Mobile number must be a Numbers only." data-val-regex-pattern="[0-9]*\.?[0-9]+" data-val-required="The Mobile field is required." id="Username" name="Username" type="text" value="">
在IE和Chrome中测试过,但提示保存信息。
非常感谢任何帮助或建议。银行如何阻止这种情况?
答案 0 :(得分:1)
我测试了许多解决方案,最后,提供了这个解决方案。
HTML代码
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "UserName", @autofocus = "", @autocomplete = "off" })
@Html.TextBoxFor(m => m.Password, new { @class = "form-control", @placeholder = "Password", @autocomplete = "off" })
CSS代码
#Password {
text-security: disc;
-webkit-text-security: disc;
-moz-text-security: disc;
}
JavaScript代码
window.onload = function () {
init();
}
function init() {
var x = document.getElementsByTagName("input")["Password"];
var style = window.getComputedStyle(x);
console.log(style);
if (style.webkitTextSecurity) {
// Do nothing
} else {
x.setAttribute("type", "password");
}
}