我想在所有浏览器中禁用google chrome的永久自动完成功能,以实现用户体验(我的Chrome版本为76)。 我尝试了许多解决方案,包括:
1)。来自的答案 Chrome ignores autocomplete="off"
其中
1)。 Autocomplete =“ off”,autocomplete =“ somerandomstring”
2)。用隐藏的样式在其上方创建另一个假输入
3)。用不可见的div包裹
似乎两个链接的答案都是针对Google chrome过期版本的解决方案,该版本很可能早于76 chrome版本。
<input name="number" type="text" class="form-control search" placeholder="No. Invoice" >
//this input is getting filled with persistent google chrome autocomplete
预期的输出:未填充自动填充
实际输出:已填充
提前谢谢!
答案 0 :(得分:0)
我只是遇到了同样的问题,原始答案似乎都无效。
当我使用占位符文本时,我想出了一种解决方案:如果值是空白,则将占位符文本添加为值,然后更改颜色,然后使用onfocus事件删除等于的值占位符并删除颜色。
这里是一个例子:
<input type="text" class="form-control" id="search" placeholder="Search Users" value='Search Users' style="color: #6c757d;" onfocus="if (this.value == this.placeholder) {this.value=''; this.style.color=null;}">
您仍然需要注意的事情:
我发现还有另一个解决方案:
为空输入添加一个值,然后使用超时将其删除,这应该在自动完成功能运行后发生。
html:
<input type="text" class="form-control NoAutoComplete" id="search" placeholder="Search Users" value='Search Users'>
CSS:
.NoAutoComplete {
color: #6c757d;
}
JS:
setTimeout(function () {
$(".NoAutoComplete").val("");
$(".NoAutoComplete").removeClass( "NoAutoComplete" );
}, 1000);
我对此并没有做太多的研究,但是您应该能够将一个类添加到所有不需要值的输入中,然后同时删除所有值和类。