为 DropdownList 禁用 Chrome 自动填充

Posted

技术标签:

【中文标题】为 DropdownList 禁用 Chrome 自动填充【英文标题】:Disabling Chrome Autofill for a DropdownList 【发布时间】:2015-03-17 12:47:33 【问题描述】:

我对下拉列表中的 Chrome 自动填充有一个相当恼人的问题。下拉列表选择一个县以添加许可费用。当您自动填写地址时,它会在下拉列表中选择自动填写的县名,然后依次添加许可证费用。我尝试从selCounty 修改下拉列表ID,但没有成功。

根据情况,可能不需要支付许可费,因此我可以看到客户可能在自动填充时无意中选择了此选项。

我查看了与用户名/密码问题相关的类似 SO 问题,并尝试使用隐藏的下拉菜单来选择它,而不是在没有运气的情况下在黑暗中进行野刺。

这是下拉列表代码:

<select id="fakeSelCty" style="display:none"></select>         
@html.DropDownListFor(
    x => x.SelectedPermitCountyId,
    new SelectList(Model.PermitCounties, "PermitCountyId", "PermitCounty"),
    new  @class = "form-control  input-sm", id = "selCty" )

autocomplete="off" 的任何建议在 Chrome 中不起作用?

【问题讨论】:

请在此处查看我的解决方法:***.com/questions/15738259/disabling-chrome-autofill/… 【参考方案1】:

修好了!

我使用了这个解决方案@readonly = "readonly", onfocus = "this.removeAttribute('readonly');""

取自the third answer here。我修改了 CSS 以更改只读外观,以免混淆用户。

【讨论】:

以上是关于为 DropdownList 禁用 Chrome 自动填充的主要内容,如果未能解决你的问题,请参考以下文章

Angular 2 如何禁用 kendo-dropdownlist

基于 CheckBox 动态启用/禁用 DropDownList

有没有办法为角度表单字段禁用 chrome 自动填充选项

Chrome - 仅为本地主机禁用缓存?

为 Cypress 测试禁用 Chrome 网络安全

ASP.NET 为信用卡字段禁用 Chrome 自动填充