我有设计问题与谷歌Chrome浏览器和它的形式自动填充功能。 如果Chrome记住了一些登录/密码,它会将背景颜色更改为黄色。
以下是一些截图:
如何删除背景或只是禁用这个自动填充?
我有设计问题与谷歌Chrome浏览器和它的形式自动填充功能。 如果Chrome记住了一些登录/密码,它会将背景颜色更改为黄色。
以下是一些截图:
如何删除背景或只是禁用这个自动填充?
当前回答
我修复了这个问题的密码字段,我有这样:
将输入类型设置为文本而不是密码
使用jQuery删除输入文本值
使用jQuery将输入类型转换为密码
<input type="text" class="remove-autofill">
$('.js-remove-autofill').val('');
$('.js-remove-autofill').attr('type', 'password');
其他回答
这帮助了我,一个CSS唯一的版本。
输入:-webkit-autofill { -webkit-box-shadow: 000px 1000px白色嵌入; }
白色可以是你想要的任何颜色。
那解决方案呢:
if ($.browser.webkit) {
$(function() {
var inputs = $('input:not(.auto-complete-on)');
inputs.attr('autocomplete', 'off');
setTimeout(function() {
inputs.attr('autocomplete', 'on');
}, 100);
});
}
它会关闭自动完成和自动填充(因此黄色背景消失),等待100毫秒,然后在没有自动填充的情况下将自动完成功能恢复。
如果你有需要自动填充的输入,那么给它们一个自动完成的css类。
在标记中,只需插入这一小行代码。
autocomplete="off"
但是,不要把它放在用户名/电子邮件/idname字段,因为如果你仍然想使用自动完成,它会禁用这个字段。但我找到了一个解决这个问题的方法,简单地把代码放在你的密码输入标签中,因为你永远不会自动完成密码。这个修复应该会移除颜色强制,保持电子邮件/用户名字段的自动完成功能,并让你避免像Jquery或javascript这样的笨重黑客。
在Firefox中,您可以使用autocomplete="off/on"属性禁用表单上的所有自动完成功能。同样,单个项目的自动完成也可以使用相同的属性设置。
<form autocomplete="off" method=".." action="..">
<input type="text" name="textboxname" autocomplete="off">
你可以在Chrome中测试它,因为它应该工作。
如果你想避免黄色闪烁,直到你的css被应用,拍打一个过渡的坏男孩像这样:
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px white inset !important;
transition: background-color 10s ease-in-out 0s;
}