如何autocomplete在主要浏览器中禁用特定input(或form field)?
我在几种形式上遇到了chrome自动填充行为的问题.
表单中的字段都有非常常见和准确的名称,例如"email","name"或"password",它们也有autocomplete="off"set.
自动填充标记已成功禁用自动填充行为,其中在您开始输入时会显示值下拉列表,但未更改Chrome自动填充字段的值.
这种行为是可以的,除了chrome正在填充输入错误,例如用电子邮件地址填充电话输入.客户抱怨这一点,因此经过验证可以在多种情况下进行验证,而不是因为我在我的机器上本地完成了某些事情.
我能想到的唯一当前解决方案是动态生成自定义输入名称,然后在后端提取值,但这似乎是一个非常讨厌这个问题的方法.是否有任何标签或怪癖会改变可用于解决此问题的自动填充行为?
我有两种基本形式 - 登录和注册,都在同一页面上.现在,我对登录表单自动填充没有任何问题,但是注册表单自动填充,我不喜欢它.
此外,表单样式获得黄色背景,我无法覆盖,我不想使用内联CSS这样做.我该怎么做才能让它们停止变黄和(可能)自动填充?提前致谢!
我们如何在某些<input>页面上禁用Chrome的自动填充功能,以防止在页面加载时自动填充它们?
同时我需要启用自动完成功能,因此用户仍然可以通过单击输入或键入输入来查看建议列表.可以这样做吗?
编辑:如果您认为有必要,或者您觉得它会使您的解决方案更简单,请随意使用普通的Javascript或jQuery.
如何删除选定输入的默认黄色框边框并选择chrome或任何浏览器(如safari)中的字段?我想用自定义框阴影css自定义输入.如何删除默认浏览器选择边框?
任何人都知道如何在自动填充时删除这个丑陋的铬背景?(参见下文.)

到目前为止我试过:
*: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)
可悲的是,它们都不起作用.任何帮助,想法,线索,建议将不胜感激.
我已设法使用以下代码将自动填充的输入字段的背景颜色从黄色更改为白色:
input.login:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px white inset;
}
Run Code Online (Sandbox Code Playgroud)
但是,仅通过添加将字体颜色更改为灰色color: #999;不起作用.我怎么能解决这个问题?非常感谢!
有:-webkit-autofill用于选择已经自动填充的输入的伪类(等),但是有没有选择器或其他解决方案来检测浏览器的自动填充下拉列表何时打开?
我希望在浏览器提供自动填充时我可以更改自己的自动完成下拉列表的位置,因为否则它们会重叠,即.当浏览器的自动填充打开时,将我自己的自动完成列表放在输入上方,否则将其显示在元素下方.
我知道我可以完全禁用自动填充功能,但我不愿意.我唯一的另一个选择是让我自己的自动完成始终出现在元素上方吗?
这个问题被建议为重复.那个问题问"如何在浏览器中自动填充文本框?" 而我的问题是"你怎么知道浏览器的自动填充下拉列表何时打开?" 这些答案都没有提供我的问题的解决方案.
由于我的意图似乎有点难以解释,这是我的意思的图片:
我要做的是检测自动填充下拉列表,即.文本模糊的框目前是否开放.所有建议的答案都涉及检测用户何时实际选择(或悬停)列表中的某些内容.
在图像中显示的情况下,下拉列表打开但未选择任何内容,轮询伪选择器不返回任何内容.
这是textarea

这是单击的textarea,其中包含文本

当Google Chrome的自动完成程序劫持textarea时

我已经尝试通过输入此代码来修复它
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px #FFFFFF inset;
}
Run Code Online (Sandbox Code Playgroud)
但我能看到的最好的就是这个

我希望白盒子是透明的,或者它可以保持白色但是要小一些,这样它就不会阻挡文本框的任何蓝色部分.这有可能吗?我试过谷歌搜索,我没有想到什么.或者,如果你们有任何关于如何解决这个问题的其他想法,那就太好了!
此外,如果有一种方法可以使自动完成框稍微小一些,那也可以,或者可能是一种移动标签的方法?= /
我想要自动完成功能.