Html 为什么autocomplete会在促销代码字段中填入人';他们使用Safari时的地址是?

Html 为什么autocomplete会在促销代码字段中填入人';他们使用Safari时的地址是?,html,autocomplete,safari,Html,Autocomplete,Safari,我有一个字段在我的形式为促销代码,这是来源 <input class="form-control helen-checkout-promo-input" type="text" placeholder="Apply a promo code" name="promo" autocomplete="new-promo"> 不知何故,我似乎无法重现,人们不断地在这个字段中输入他们的地址。我能想到的唯一一件事就是自动完成。从我看到的用户代理来看,它主要来自iPhone,有时来自Mac

我有一个字段在我的形式为促销代码,这是来源

<input class="form-control helen-checkout-promo-input" type="text" placeholder="Apply a promo code" name="promo" autocomplete="new-promo">

不知何故,我似乎无法重现,人们不断地在这个字段中输入他们的地址。我能想到的唯一一件事就是自动完成。从我看到的用户代理来看,它主要来自iPhone,有时来自MacOS上的Safari,这就是其中之一

Mozilla/5.0(iPhone;CPU iPhone OS 12_1_4,类似Mac OS X) AppleWebKit/605.1.15(KHTML,类似Gecko)Version/12.0 Mobile/15E148 Safari/604.1

我尝试过将其设置为“关”、“新”、“新促销”,同时删除该属性,但我仍然看到每天都会发生很多次这种情况。如何告诉Safari停止自动填充此字段


(我知道这不是一个意外,因为在几个月的时间里,它每天可能发生10次,但我无法修复它)

如果您将输入设置为“只读”,则自动完成将不会在字段中输入任何内容,因为无法在字段中输入任何内容。您可以在标记中放置另一个属性,该属性将禁用焦点上的
只读
,因此当用户选择要在其输入中键入的字段时,只读将被禁用。这样,autocomplete就无法尝试填写此字段,地址也不会输入到促销代码框中(当然,除非autocomplete不是问题所在,而问题只是一群苹果爱好者试图欺骗你)

代码:


快乐编码

根据我在chrome上的体验,通常的字段(姓名、电子邮件、电话)会提示用户使用浏览器中存储的信息(电话、地址)自动完成整个表单。这在很大程度上是由字段名称驱动的。将字段重命名为不常见的名称(名称、电子邮件、促销等)可能会解决此问题。是否重命名为不常见的名称?我无法想象“promo”是一个用于输入地址的公共字段,特别是因为它似乎与safari无关,只是一些额外的东西,在用户体验设计中,将输入字段的描述/名称作为占位符放在输入字段中被认为是不好的做法。这是因为如果用户意外地在输入中输入了错误的信息,他们将无法在不删除文本的情况下看到输入的实际用途。我建议您不要使用占位符属性,而是将描述文本直接放在输入框上方。@BrianLeishman我的答案有帮助吗?@Jodast抱歉!我花了一天的时间才把我正在进行的所有工作项目都放回原处,但它已经实施了,我会在周末等一等,以确保日志中不再显示这些内容,然后我们将在周一查看它是否有效:)看起来它有效!在周末、周五下午和今天上午,这些错误中没有一个是错误的。黑客地狱,但必须爱它更新一个月后,这继续删除了每一个实例,人们输入他们的地址到我的促销代码fieldgreat!我很高兴这解决了你的问题