我在几种形式上遇到了chrome自动填充行为的问题.
表单中的字段都有非常常见和准确的名称,例如"email","name"或"password",它们也有autocomplete="off"set.
自动填充标记已成功禁用自动填充行为,其中在您开始输入时会显示值下拉列表,但未更改Chrome自动填充字段的值.
这种行为是可以的,除了chrome正在填充输入错误,例如用电子邮件地址填充电话输入.客户抱怨这一点,因此经过验证可以在多种情况下进行验证,而不是因为我在我的机器上本地完成了某些事情.
我能想到的唯一当前解决方案是动态生成自定义输入名称,然后在后端提取值,但这似乎是一个非常讨厌这个问题的方法.是否有任何标签或怪癖会改变可用于解决此问题的自动填充行为?
我创建了一个使用标记框下拉列表的Web应用程序.这适用于除Chrome浏览器(版本21.0.1180.89)以外的所有浏览器.
尽管input字段和form字段都具有该autocomplete="off"属性,但Chrome 仍然会显示该字段的先前条目的下拉历史记录,这会删除标记框列表.
任何人都知道如何在自动填充时删除这个丑陋的铬背景?(参见下文.)

到目前为止我试过:
*:focus {
outline: 0;
}
input:-webkit-autofill {
-webkit-box-shadow: none;
-webkit-text-fill-color: #fff !important;
}
button:focus, input:focus, a:focus {
text-decoration: none !important;
outline: none !important;
}
Run Code Online (Sandbox Code Playgroud)
可悲的是,它们都不起作用.任何帮助,想法,线索,建议将不胜感激.
我试图在我的一个rails表单中关闭自动完成功能.这是我到目前为止所尝试的:
# add it at the form level
= form_tag admin_sessions_path, autocomplete: "off" do
Run Code Online (Sandbox Code Playgroud)
那没用.
# add it at the element level
.panel
= label_tag :email
= email_field_tag :email, params[:email], autocomplete: 'off'
Run Code Online (Sandbox Code Playgroud)
也没有那样做.
# add it to both
= form_tag admin_sessions_path, autocomplete: "off" do
# add it at the element level
.panel
= label_tag :email
= email_field_tag :email, params[:email], autocomplete: 'off'
Run Code Online (Sandbox Code Playgroud)
当我访问我的表单时,我的电子邮件地址和已保存的密码已经填写完毕.我在这做错了什么?我喜欢铁轨,但它有时让我很生气.