0

HTML でログイン送信フォームを作成しましたが、何らかの理由でユーザー/パスワードのオートコンプリートが、Firefox で期待どおりに機能しません。

Firefox では次のようになります。

  • ユーザー名とパスワードを入力し、ログインボタンをクリックします
  • Firefox は、パスワードを覚えておきたいかどうかを尋ねてきます。「記憶」を押すと、ログインが機能します。(このテストを実行する前に、覚えているすべてのパスワードを削除したことを確認しました)
  • ログアウトしてログインページに戻ります。ユーザー名とパスワードのフィールドが事前に入力されていることを期待しますが、そうではありません (FF が特定の URL に対して 1 つのユーザー/パスワードの組み合わせのみを保存している場合、この組み合わせはフォームに自動的に事前入力されます)。

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

なぜうまくいかないのかわかりました。ajaxを使用して、サンプルhtmlをコンテナーdivに貼り付けます。(前述のように)私のコードはIEで機能するため、Firefoxはこれについて非常に敏感です。

于 2008-12-24T16:49:22.747 に答える
1

URL は静的または動的ですか。自動補完は動的 URL では機能しません。URL が次のようになっているとします。

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

次に、パスワードの保存が機能しません。次に modrewrite または何かを使用して、URL を静的としてブラウザーに表示する必要があります。

于 2008-11-29T13:18:57.057 に答える
0

タグautocomplete="ON"に入っているようです。<form>これを次のように変更してみてください。つまりautocomplete="on"、大文字の「ON」を削除してください。

于 2008-12-01T03:24:52.433 に答える
0

まず、Firefox でオートコンプリートが有効になっているかどうかを確認します。
次に、テキスト ボックスの「type」属性を「autocomplete」に設定してみてください。詳細はこちら

于 2008-11-29T14:42:21.147 に答える