Pablo Ezequiel Inchausti Asked: 2020-03-13 15:32:02 +0800 CST 2020-03-13 15:32:02 +0800 CST 2020-03-13 15:32:02 +0800 CST 如何在 HTML 字段中禁用自动完成和更正建议? 772 如何从HTML覆盖对用户输入的数据的建议?例如,我有input来自Angular应用程序的以下字段: <input type="text" [(ngModel)]="place2search" autocomplete="off" > ...输入“llao ”时会出现“llamo”建议: 添加了autocompleteen "off",如HTML控制台所示。如何从应用程序中禁用它? html 4 Answers Voted Best Answer A. Cedano 2020-03-13T17:55:31+08:002020-03-13T17:55:31+08:00 Mozilla 表示,自动完成存在一些困难。 他们建议以下方法,您可以一一尝试,因为根据您使用的浏览器类型以及您的表单是否要求密码类型数据,其中一种将起作用: 1. autocomplete="off" 2. autocomplete="nope" //una cadena aleatoria cualquiera 3. autocomplete="new-password" //formularios que piden password 现在我解释一下,根据 Mozilla,为什么可能性 2 和 3。 在某些情况下,即使自动完成属性设置为关闭,浏览器也会不断提示自动完成值。这种意想不到的行为可能会让开发人员感到非常困惑。真正强制不自动完成的技巧是为属性 分配一个随机字符串: 在某些情况下,即使禁用了自动完成属性,浏览器仍然会建议自动完成值。这种意想不到的行为可能会让开发人员感到非常不安。强制不使用自动完成的技巧是为属性分配一个随机字符串,例如: autocomplete="nope" 自动完成属性和登录字段 现代浏览器实现了集成的密码管理:当用户输入站点的用户名和密码时,浏览器会主动为用户记住它。当用户再次访问该站点时,浏览器会使用存储的值自动填充登录字段。 此外,浏览器允许用户选择一个主密码,浏览器将使用该主密码来加密存储的登录详细信息。 即使没有主密码,浏览器内密码管理通常也被视为安全的净收益。由于用户不必记住浏览器为他们存储的密码,因此他们可以选择比其他方式更强的密码。 出于这个原因,许多现代浏览器不支持登录字段的 autocomplete="off": 如果站点为表单设置了 autocomplete="off",并且表单包含用户名和密码输入字段,则浏览器仍会提供记住此登录信息,如果用户同意,浏览器将在下次登录时自动填充这些字段用户访问该页面。如果站点为用户名和密码输入字段设置了 autocomplete="off",则浏览器仍会提供记住此登录信息,如果用户同意,浏览器将在用户下次访问该页面时自动填充这些字段。这是 Firefox(自 38 版起)、Google Chrome(34 版起)和 Internet Explorer(11 版起)中的行为。 如果作者想防止在用户管理页面中自动填充密码字段,用户可以为自己以外的人指定新密码,则应指定 autocomplete="new-password",尽管在所有浏览器。 现代浏览器实现了集成密码管理:当用户输入站点的用户名和密码时,浏览器会主动为用户记住它。当用户再次访问该站点时,浏览器会自动使用存储的值填充登录字段。 此外,浏览器允许用户选择一个主密码,浏览器将使用该主密码来加密存储的登录数据。 即使没有主密码,浏览器内密码管理通常也被视为安全的净收益。由于用户不必记住浏览器为他们存储的密码,因此他们可以选择比其他方式更强的密码。 出于这个原因,许多现代浏览器不支持 登录字段的 autocomplete="off": 如果网站为表单设置了 autocomplete="off",并且表单包含用户名和密码输入字段, 浏览器仍会提供记住此登录信息,如果用户接受,浏览器将在用户下次登录时自动填写访问页面。如果站点为用户名和密码输入字段设置了 autocomplete="off",浏览器仍然会提供记住此登录信息,如果用户接受它,浏览器将在用户下次访问该页面时自动填充它们。这是 Firefox(自 38 版起)、Google Chrome(34 版起)和 Internet Explorer(11 版起)中的行为。 如果作者想防止在用户管理页面上自动填充密码字段,用户可以为自己以外的其他人指定新密码,则应指定 autocomplete = "new-password",尽管尚未在所有浏览器中实现对此的支持还。 它本质上说的是,在某些浏览器中,在具有密码字段的表单中,即使它关闭,自动完成也会忽略它并继续建议数据......要关闭它,你必须做一些奇怪的事情:) autocomplete="new-password" 试试这三种可能性。 编辑 在这个问题的特定情况下,OP 可以将以下属性添加到有问题的输入中: <input .... spellcheck="false"> ... </input> Pablo Ezequiel Inchausti 2020-03-13T18:34:18+08:002020-03-13T18:34:18+08:00 我通过添加属性spellcheck="false"找到了解决方案,结果是这样的: <input type="text" [(ngModel)]="place2search" autocomplete="off" spellcheck="false"> 谢谢你的建议。。 simon 2020-03-13T16:16:44+08:002020-03-13T16:16:44+08:00 您只需要带有 off 属性的“自动完成”,奇怪的是它对您不起作用... 注意在 HTML5 中工作。 但是在这里,您有一个 w3 的官方示例(英文),希望对您有所帮助。 https://www.w3schools.com/tags/att_input_autocomplete.asp devildrey33 2020-03-13T15:52:32+08:002020-03-13T15:52:32+08:00 试试这个属性autocomplete="off"(我认为它只适用于HTML5)。 <input type="text" [(ngModel)]="place2search" autocomplete="off" />
Mozilla 表示,自动完成存在一些困难。
他们建议以下方法,您可以一一尝试,因为根据您使用的浏览器类型以及您的表单是否要求密码类型数据,其中一种将起作用:
现在我解释一下,根据 Mozilla,为什么可能性 2 和 3。
自动完成属性和登录字段
它本质上说的是,在某些浏览器中,在具有密码字段的表单中,即使它关闭,自动完成也会忽略它并继续建议数据......要关闭它,你必须做一些奇怪的事情:)
试试这三种可能性。
编辑 在这个问题的特定情况下,OP 可以将以下属性添加到有问题的输入中:
我通过添加属性spellcheck="false"找到了解决方案,结果是这样的:
谢谢你的建议。。
您只需要带有 off 属性的“自动完成”,奇怪的是它对您不起作用...
注意在 HTML5 中工作。
但是在这里,您有一个 w3 的官方示例(英文),希望对您有所帮助。
https://www.w3schools.com/tags/att_input_autocomplete.asp
试试这个属性
autocomplete="off"
(我认为它只适用于HTML5)。