4

Javascript を使用してログイン フォームを送信する Web サイトがあります。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 経由で送信するときに、パスワードを記憶するプロンプトを表示する方法を知っている人はいますか?

4

3 に答える 3

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>

そうすれば、リンクがクリックされたり、送信ボタンが押されたり (または Enter キーが押されたり) した場合に関数が呼び出され、false を返すことで送信をキャンセルできます。これは、IE7 がフォームの送信を解釈する方法に影響を与える可能性があります。

編集: フォーム オブジェクトで submit() を呼び出すのではなく、常にこの方法でフォーム送信をフックすることをお勧めします。submit() を呼び出すと、フォーム オブジェクトの onsubmit はトリガーされません。

于 2008-10-01T16:37:24.923 に答える
1

href に URL を入力し、クリック イベント ハンドラーをアタッチしてフォームを送信し、クリック ハンドラーから false を返して、URL に移動しないようにしましたか。

または、javascript を介してトリガーされる非表示の送信ボタンですか?

于 2008-10-01T16:21:34.040 に答える
1

リンクや送信ボタンの代わりに、HTML <button> タグを使用してみてください。

例えば、

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

<button> タグは、標準の <input type="submit"> よりもスタイル設定がはるかに簡単です。クロスブラウザーの癖がいくつかありますが、克服できないわけではありません。

<button> の使用に関する非常に優れた記事は、particletree で見つけることができます:ボタン要素の再発見

于 2008-10-01T19:31:50.993 に答える