我见过类似的问题,但似乎没有什么可以解决我遇到的问题。
我有两步注册表格流程。在第一页上输入电子邮件地址,在第二步输入密码(以及其他详细信息)。
Firefox提供了记住您的详细信息,但将出生日期字段(密码字段前的最后一个文本框)作为用户名。电子邮件地址位于页面上的隐藏值中。
有谁知道如何告诉Firefox电子邮件地址字段是密码的标识符?
我知道我可以使用autocomplete =“off”,但我们仍然希望用户记住他们的密码,只需使用正确的值。
非常感谢
答案 0 :(得分:3)
Firefox将password
字段前的字段作为您的username
,无论 name
, id
< / strong>或 autocomplete
属性。
将username
字段与password
字段放在一起
注意:关闭autocomplete
会让Firefox忘记表单数据,但如果这是注册表单,Firefox仍会询问用户是否要保存凭据(与表单数据分开存储)。对于用户名,它将始终要求在密码之前保存字段。
答案 1 :(得分:2)
确保每个输入的名称属性不同。
如果没有更好的替代方案可以识别,浏览器可能会将第一个输入识别为用户名或某些等效项。
EDIT ---
嗯。那么现在我开始失明了,但这里有一个猜测:Firefox可能无法保存隐藏输入的表单值,而是寻找替代品。
试试这个:在第二个阶段,将名称输入作为文本输入类型,而不是隐藏的输入类型,但用css隐藏它。然后事情可能会更好。
答案 2 :(得分:1)
我也在Chrome中见过这种行为(客户已经在IE中报告过),所以这不仅仅是Firefox的问题。也就是说,正如Nelu所说,在密码字段之前出现的文本字段(即名称为“密码”的字段)被视为登录名字段,无论其名称如何等。如果有其他表单字段不是“文本”,则会忽略它们。
对我们来说,如果我们不希望自动浏览器行为发挥作用,那么正确的解决方案似乎是避免给字段命名为“密码”。
我认为这是浏览器有点太有帮助的例子。