Javascript Google Places覆盖自动完成关闭
我在我的网站上的地址输入上使用Google Places API:Javascript Google Places覆盖自动完成关闭,javascript,google-places-api,google-apps,google-places,Javascript,Google Places Api,Google Apps,Google Places,我在我的网站上的地址输入上使用Google Places API: <input type="text" name="street[]" id="street1" autocomplete="none" /> 但一旦加载了GooglePlaces,它就会用autocomplete=“off”替换我的autocomplete=“none”。问题是Google Chrome与“关闭”值不兼容,并保持显示自动填充建议。 有办法解决这个问题吗 谢谢 此问题以前曾在谷歌的公共问题跟踪器中
<input type="text" name="street[]" id="street1" autocomplete="none" />
但一旦加载了GooglePlaces,它就会用autocomplete=“off”替换我的autocomplete=“none”。问题是Google Chrome与“关闭”值不兼容,并保持显示自动填充建议。
有办法解决这个问题吗
谢谢 此问题以前曾在谷歌的公共问题跟踪器中报告过:。您仍然可以对其进行评论和启动,以接收更新并提高可见性 同时,您可以在以下相关帖子中尝试这些建议:
希望这有帮助 以下是一种适用于所有浏览器的方法: TL;博士 将输入字段名称和字段ID重命名为与之无关的内容,如
'data\u input\u field\u 1'
。然后添加将“代码>字符”插入标签中间。这是一个非打印字符,因此您不会看到它,但它会诱使浏览器无法识别需要自动完成的字段,因此不会显示内置的自动完成小部件
细节
几乎所有浏览器都使用字段名称、id、占位符和标签的组合来确定字段是否属于一组地址字段,这些字段可以从自动完成中获益。因此,如果您有一个类似
的字段,几乎所有浏览器都会将该字段解释为地址字段。因此,浏览器将显示其内置的自动完成小部件。我们的梦想是使用属性autocomplete=“off”
可以工作,不幸的是,现在大多数浏览器都不遵守这个请求
因此,我们需要使用一些技巧使浏览器不显示内置的自动完成小部件。我们要做到这一点的方法是欺骗浏览器,使其相信该字段根本不是地址字段
首先,将id和name属性重命名为不会泄露您正在处理的地址相关数据的属性。因此,与其使用
,不如使用类似的
。浏览器不知道输入字段3代表什么数据。但你知道
如果可能,不要使用占位符文本,因为大多数浏览器也会考虑到这一点。如果必须使用占位符文本,则必须发挥创意,确保没有使用与地址参数本身相关的任何单词(如城市
)。使用类似于输入位置的方法可以做到这一点
最后一个参数是附加到字段的标签。然而,如果你像我一样,你可能希望保持标签完整,并向用户显示可识别的字段,如“地址”、“城市”、“州”、“国家”。好吧,好消息:你可以!实现这一点的最佳方法是插入零宽度非连接字符代码>作为标签中的第二个字符。因此,将City
替换为C;城市
。这是一个非打印字符,因此您的用户将看到City
,但浏览器将被欺骗,无法看到City
,并且无法识别该字段
任务完成了!如果一切顺利,浏览器将不再在这些字段上显示内置的地址自动完成小部件
希望这对你的努力有所帮助