0

我已经在 HTML 中创建了一个登录提交表单,但由于某种原因,用户/密码自动完成功能不像我在 Firefox 中所期望的那样工作。

这就是 Firefox 中发生的情况:

  • 我提供用户名和密码,然后单击登录按钮
  • 如果我想记住密码,Firefox 会提示我。我按“记住”并登录工作。(我确保在运行此测试之前删除了所有记住的密码)
  • 我注销并返回登录页面。我希望预先填写用户名和密码字段,但事实并非如此(如果 FF 只为特定 URL 存储了一个用户/密码组合,那么它会自动在您的表单中预先填写此组合)

请注意,我不(想)使用 cookie。我在 FF 密码管理器中验证了用户名和密码实际上已被存储(它们是)

这是此页面的代码:

<form name="login_form" id="login_form" autocomplete="ON" onsubmit="javascript:xajax_action_login(document.getElementById('user_name').value, document.getElementById('password').value); return false;">
    <div class="login_line">
        <div class="login_line_left">name</div>
        <div id="user_name_id" class="login_line_right"><input size="16" maxlength="16" name="user_name" id="user_name" type="text"></div>
    </div> <!-- login_line -->
    <div class="login_line">
        <div class="login_line_left">password</div>
        <div id="password_id" class="login_line_right"><input size="16" maxlength="16" name="password" id="password" type="password"></div>
    </div> <!-- login_line -->
    <div class="login_line">
        <div class="login_line_left"> </div>
        <div class="login_line_right"><input class="button" value="login" type="submit">
    </div> <!-- login_line -->
</form> <!-- login_form -->

我的代码有什么问题?如何使用我的代码自动完成以在 FF 中工作?

自动补全确实适用于例如 gmail。每次我访问 gmail 的登录页面时,电子邮件和密码字段都已正确预填。我不使用“在这台计算机上记住我”复选框,因此不使用 cookie。

我会非常感谢您的帮助。碧玉


Firefox 中启用了更新自动完成功能。我想保持 IE 兼容。

4

4 回答 4

1

网址是静态的还是动态的,自动完成不适用于动态网址,比如说您的网址是:

http://www.domain.come/login.php?someDynamicVarLikeAdateOrSo=12312

然后密码保存将不起作用,然后您应该使用 modrewrite 或其他东西将 url 显示为浏览器的静态

于 2008-11-29T13:18:57.057 回答
1

我发现了为什么它不起作用。我使用 ajax 将示例 html 粘贴到容器 div 中。显然firefox对此非常敏感,因为(如前所述)我的代码确实可以在IE中运行。

于 2008-12-24T16:49:22.747 回答
0

首先,检查是否在 Firefox 中启用了自动完成功能。
然后尝试将文本框的“类型”属性设置为“自动完成”。详细信息在这里

于 2008-11-29T14:42:21.147 回答
0

看起来你autocomplete="ON"<form>标签中。尝试将其更改为autocomplete="on"- 即删除“ON”的大写。

于 2008-12-01T03:24:52.433 回答