就我而言。我有用于注册的登录表单,该表单有一些字段,如电话号码、电子邮件地址、密码等。注册后,当用户想要登录时,要求是电子邮件地址和密码。 Chrome 自动填写字段密码字段没问题,但在电子邮件字段中自动粘贴电话号码。
我该如何配置?
最后一个是正确的,我想像最后一个一样保存。
表单标记,即表单电话和电子邮件输入代码
@Html.TextBoxFor(m => m.Email, new { @class = "SSTinputTextE input", placeholder = "E-POSTA ADRESİ" })
@Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger", @style = "display:none" })
@Html.TextBoxFor(m => m.Phone, new { @class = "SSTinputTextE input txtNumeric", placeholder = "CEP TELEFONU", maxlength = "11" })
@Html.ValidationMessageFor(m => m.Phone, "", new { @class = "text-danger ", @style = "display:none" })
最佳答案
我在 .Net MVC 站点中遇到了完全相同的问题,并且标记非常相似。我还在 input
元素本身上使用 placeholder
属性,而不是在元素之前使用 label
元素,就像 op 一样。
我通过将 HTML 中的电话号码字段移到电子邮件字段之前(以及可视化的表单,如果重要的话)来解决该问题。
我没有深入研究它,无法明确地找出其确切原因,但我怀疑这是因为它在之后拾取了第一个输入
字段任何带有“电子邮件”一词的内容。由于没有电话号码标签来中断此逻辑,因此电话号码字段位于下一个,因此它选择了该字段。我知道 Chrome 使用一些简单的正则表达式来获取这些自动保存字段,所以也许它不够聪明,无法意识到元素本身的占位符也可以计数? (同样,这只是对原因的猜测。但我上面的解决方法无论如何都有效。)
关于asp.net - 注册时Chrome保存的是电话号码而不是电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998329/