首页 > 解决方案 > 当页面上有密码字段而没有电子邮件字段时,浏览器凭据自动完成问题

问题描述

在 laravel jetstream 标准 user-profile-managing 脚手架中,有一个页面 http://127.0.0.1:8000/user/profile可以在没有单独电子邮件字段的情况下找到 type="password" 的输入字段。这样做是为了让用户更改密码。

如果有任何其他字段带有 type="text" 或 type="search" ,它将自动填写如下电子邮件:

错误的搜索字段

但是当我添加额外的输入字段 type="email" (当然这个字段可以隐藏)它看起来通常应该看起来像:

通常看起来的搜索字段

仅当浏览器“记住”密码时才会出现此问题。

那么问题是可以添加额外的“电子邮件”字段来欺骗浏览器吗?

还有其他更好的方法吗?

Update1:​​隐藏字段不起作用。只有当它可见时...

更新 2:字段可以是零宽度,而不是隐藏。

Update3:另一件有效的事情 - 将搜索字段包装在表单标签中。

标签: htmlbrowserautocompleteweb-deployment-project

解决方案


将搜索字段包装在它自己的表单标签中会有所帮助。

此外,将其他表单的内容包装在其自己的表单标签中也会有所帮助。否则,浏览器会认为整个页面是一个表单,并会尝试自动填充。

最好的做法是用不同的 ID/名称将每个表单包装在自己的表单标签中,以帮助浏览器了解它们中的每一个都是不同的并且不相关。


推荐阅读