通过javascript提交时,IE7表单不会提示记住密码

Jas*_*man 4 html javascript internet-explorer-7

我有一个网站,我们使用Javascript提交登录表单.在Firefox上,它会提示用户在登录时记住他们的密码,但在IE7上却没有.

在进行一些研究后,看起来只有在通过Submit控件提交表单时才在IE7中提示用户.我已经创建了一些示例html来证明这是事实.

<html>
<head>
<title>test autocomplete</title>
<script type="text/javascript">
function submitForm()
{
    return document.forms[0].submit();
}
</script>
</head>
<body>
<form method="GET" action="test_autocomplete.html">
<input type="text" id="username" name="username">
<br>
<input type="password" id="password" name="password"/>
<br>
<a href="javascript:submitForm();">Submit</a>
<br>
<input type="submit"/>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

href链接没有得到提示,但提交按钮将在IE7中.两者都适用于Firefox.

我无法通过提交按钮使我的网站的样式看起来相同,有没有人知道如何通过Javascript提交时出现记住密码提示?

Zac*_*man 5

为什么不尝试以这种方式提交表单?

<html>
    <head>
        <title>test autocomplete</title>
        <script type="text/javascript">
            function submitForm()
            {
                    return true;
            }
        </script>
    </head>
    <body>
        <form method="GET" action="test_autocomplete.html" onsubmit="return submitForm();">
            <input type="text" id="username" name="username">
            <br>
            <input type="password" id="password" name="password"/>
            <br>
            <a href="#" onclick="document.getElementById('FORMBUTTON').click();">Submit</a>
            <br>
            <input id="FORMBUTTON" type="submit"/>
        </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这样,无论是单击链接还是按下提交按钮(或按下回车键),都会调用您的函数,您可以通过返回false来取消提交.这可能会影响IE7解释表单提交的方式.

编辑:我建议总是以这种方式挂钩表单提交,而不是在表单对象上调用submit().如果调用submit(),则不会触发表单对象的onsubmit.