我知道这个问题有很多答案。我查看了所有禁用谷歌自动完成的解决方案(建议的下拉列表),比如使用 autocomplete=0ff 或 autocomplete=false,但没有解决问题。 我创建了一个 MVC 应用程序,其中包含带有下拉列表和 HTML EditorFor 的 View 。
一种向 HTML 编辑器添加名称的解决方案有助于删除自动完成,但是由于我更改了 HTML EditorFor 的名称,我在回传值时遇到了问题。
<div class="col-md-10">
@Html.EditorFor(model => model.Address, new {htmlAttributes = new { @class = "form-control", @id = "show_address", Name = Guid.NewGuid().ToString(), autocomplete = "noped" } })
</div>
有人有 2019 年禁用谷歌自动完成的解决方案吗?
更新:
我尝试使用 html.textboxfor(如下面第一个解决方案中给出的那样),但是我意识到 autocomplete=off 仅在 View 中存在另一个 textboxfor 时才有效。 如果在同一个 View 中有多个文本框,对任何一个 Html 文本框使用 autocomplete=off 将无法禁用自动完成功能!有人可以帮忙吗?
最佳答案
EditorFor 有它自己的一些缺点,它在某些情况下不起作用,使用 TextBoxFor 代替 EditorFor 的更好方法。此外,它不影响 Postback 值。(更多详细信息 check here )
@Html.TextBoxFor(model => model.Address, new { @class = "form-control", @id = "show_address", autocomplete = "off" })
更新:查看我更新的演示 DEMO
添加 autocomplete=off 后,仍然有一些浏览器会忽略它们,它们会尝试向您显示一些提示或自动填充。更多信息 check this
在自动完成中添加一些 random_value,以便浏览器认为是关闭的。
@Html.TextBoxFor(model => model.Address1, new { @class = "form-control", @id = "show_address", autocomplete = "some_random_value" })
关于html - 真正的 2019 禁用 chrome 自动填充的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56723703/