这个问题已经在别的地方问过了,但是没有得到回答。
<input name="firstName" id="firstName" type="text" placeholder="John" font-size="16" class="sc-fznKkj XyZMK">
是一张信用卡,正如自动完成字段检查器中所显示的那样(实验性的标志),并且通过自动完成提供了保存的信用卡。
它也在lastName字段和另一个表单中的某个数字类型字段上显示了这一点。
我不明白的是,它只是工作在我们的开发环境中的预期,并得到坚果只有在暂存(两者都是几乎相同的部署过程,相同的s3 +云前托管,相同的代码相同的构建)。
有什么线索吗?
更奇怪的是:改变 name
场到 first-name
而不是 firstName
修复了。我不需要修改两个输入名,只需要修改第一个输入名就可以了。但是我应该可以按照自己的意愿来命名我的字段,不是吗?
在HTML表格中, autocomplete
属性用于告诉浏览器应该将什么类型的数据输入到特定的输入中。
(更多信息在 MDN网站文档.)
例如,对于名字,你应该使用 autocomplete="given-name"
而对于姓,则使用 autocomplete="family-name"
.
将这些属性添加到被错误识别的输入中,应该可以解决你的问题。
至于为什么一些输入没有一个 autocomplete
属性,但仍能正确识别:当没有使用 autocomplete
属性,浏览器就会尝试 "智能 "地决定该字段应该放入什么。
为了做到这一点,浏览器的 name
属性是最常用的。如果它是 username
或 password
例如,浏览器可能会识别这些词,因为它们是非常常见的输入描述。如果是 myinput6
那么浏览器将无法识别任何东西。
在你的情况下,浏览器似乎识别了你的网站。name
'first-name',但对略有不同的'firstName'却难以识别。然而,正如你所说,你应该能够给你的 name
属性的任何值,要做到这一点,你应该使用 autocomplete
属性。