我输入了一个简单的文本和密码输入,并填写了默认用户名和密码。如果我将焦点放在文本输入上然后删除焦点,它会因某种原因删除我的密码输入。这似乎只发生在Firefox上。我以为这将是我周围的代码,但我尝试将所有内容移动到一个空白页面并将所有内容剥离到裸露的骨头而没有运气:
<form>
<input type="text" value="username" />
<input type="password" value="password" />
</form>
我注意到的一些事情是我更改用户名和密码的价值并不重要,我仍然遇到这个问题。如果我删除了打开表单标记,则此问题将消失。如果我交换它并先输入密码然后输入用户名,它就会起作用......另一个奇怪的事情是如果我从操作系统路径运行这个文件,问题也会消失。任何人都知道可能出现什么问题?
答案 0 :(得分:1)
听起来像Firefox的表单字段自动完成正在阻碍你。您可以通过将autocomplete="off"
添加到<input>
字段或<form>
元素来禁用它,以便为所有字段禁用它。
答案 1 :(得分:0)
好像是Firefox(至少3.5.1)密码管理器行为。在模糊时,它在DOM树中查找下一个输入字段,如果有密码字段,则管理器将当前值替换为之前存储的值或如果未找到匹配项则将空字符串替换为空字符串。
为了确保它,您可以尝试为此页面/域用户名输入存储到输入并删除焦点。 FF将替换存储的密码。
作为一种解决方法,您可以在文本和传递字段之间插入<input id="dummy" type="text" style="display:none;" />
。这将破坏FF所依赖的常见标记模式。