【发布时间】:2015-02-15 14:08:18
【问题描述】:
我有一个允许用户在私人网站上申请帐户的表单,但没有用户名字段。相反,该项目的规范要求用户输入他们的电子邮件地址和密码/确认密码。还有一些字段供用户输入他们的州和国家/地区。
提交表单时,Chrome 会显示一个提示,询问用户是否要保存密码,但它显示的是状态字段的值,而不是电子邮件地址字段。 (电子邮件地址是帐户的实际用户名)。
我知道 Chrome 会遍历表单的字段,直到找到 id=password 的字段,然后它会向后遍历字段以找到 id=username。由于我没有 id=username 字段,并且 Chrome 与 id=email 无关,因此它似乎使用 id=password 字段之前的字段作为用户名。
如何强制 Chrome 使用 id=email 的字段作为用户名?
<form action="POST" src="#">
<input id="email" type="text" />
<input id="state" type="text" />
<input id="country" type="text" />
<input id="password" type="password" />
<input id="confirmpassword" type="password" />
<input type="submit" value="Request Account" />
</form>
上述表单提交后,会触发Chrome的提示:
Would you like to save this password?
Iowa ********
请注意,“Iowa”是在 id=state 字段中输入的任何值,这当然是错误的。
此时很难将 id=email 更改为 id=username。有没有其他方法可以做到这一点并保持 id=email?
【问题讨论】:
-
如果您使用通过匹配 for 和 id 属性附加到其输入的标签,这会有所不同吗? Like in this example
-
我要试试这个,但我不认为 Chrome 正在查看标签。它是 name= 或 id= ,我认为它默认需要用户名。我只是在想可能有一个属性或属性可以添加到电子邮件的 中。
标签: forms google-chrome