代码之家  ›  专栏  ›  技术社区  ›  Jason Gritman

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

  •  4
  • Jason Gritman  · 技术社区  · 16 年前

    我有一个网站,我们使用Javascript提交登录表单。在Firefox上,登录时会提示用户记住密码,但在IE7上则不会。

    在做了一些研究之后,看起来只有在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>
    

    href链接没有得到提示,但提交按钮将在IE7中显示。两者都在Firefox中工作。

    我不能让我的网站的风格看起来与提交按钮相同,有人知道如何在通过Javascript提交时显示记住密码提示吗?

    3 回复  |  直到 16 年前
        1
  •  5
  •   Zack The Human Kunal    16 年前

    <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>
    

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

        2
  •  1
  •   Sijin    16 年前

    您是否尝试在href中输入url并附加一个单击事件处理程序以提交表单,并从单击处理程序返回false,以便url不会被导航到。

        3
  •  1
  •   Adz    16 年前

    您可以尝试使用HTML<按钮>标记,而不是链接或提交按钮。

    <button type="submit">Submit</button>
    

    这个<按钮>标记的样式比标准样式容易得多<输入类型=“提交”>。有一些跨浏览器的怪癖,但它们不是无法克服的。

    这是一篇关于<按钮>可在particletree上找到: Rediscovering the button element