停用表格搜索的 Chrome 自动填充功能



我正在使用角度数据表,其中chrome自动使用电子邮件ID填充表格搜索。

我试图用空字符串覆盖搜索,但仍然 chrome 自动填充电子邮件 ID

dtTrigger: Subject<any> = new Subject();
dtOptions: DataTables.Settings = {};
this.dtOptions = {
pagingType: 'full_numbers',
pageLength: 10,
"dom": '<"top"f>rt<"bottom"lip><"clear">',
responsive: true,
search :{
search : " "
}
};

所以在这里搜索:"任何东西"它搜索表格中的任何内容,我尝试了空选项空字符串 chrome 自动填充电子邮件 ID。

如何强制Chrome不填写搜索输入中的电子邮件。

我在 Github 存储库中查看它是如何工作的。

我在此文档中发现了对jquery库的依赖:

http://l-lin.github.io/angular-datatables/#/getting-started

npm 安装 datatables.net --save

后来我在jquery库中搜索了输入字段。

/node_modules/datatables.net/js/jquery.dataTables.js

4182 行中,我刚刚添加了一个属性autocomplete="off">

var input = '<input type="search" autocomplete="off" class="'+classes.sFilterInput+'"/>';

是的,这有点棘手,如果它有效,请告诉我在数据表 github 存储库中发出拉取请求。

更新

Chrome 有意忽略自动完成="关闭"和自动完成="false",因此请使用自动完成=">新搜索">

我没有在jquery.dataTables.min.js中添加相同的标记,并且可以肯定编译器正在使用.min.js文件

/node_modules/datatables.net/js/jquery.dataTables.min.js

'<input type="search" class="'+b.sFilterInput+'"/>'

并替换为:

'<input type="search" autocomplete="new-search" class="'+b.sFilterInput+'"/>'

如果您可以接受,这里是对IM使用的表的自定义搜索:

.html:

<form  [formGroup]="searchTableForm" (ngSubmit)="onSubmit()">
<div class="tableSearchBox">
<input class="tableSearch" required formControlName="search">
</div>
</form>

.ts:

onSubmit(){
this.datatableElement.dtInstance.then((dtInstance: DataTables.Api)=>{
dtInstance.search(this.searchTableForm.value.search).draw()
})
}

每次表单值更改时我都会运行它

最新更新