Автозаполнение пароля не работает для моего веб-приложения (в firefox)

Я создал форму отправки входа в систему в HTML, но по какой-то причине автозаполнение не работает в firefox.

Вот что происходит в Firefox: - Я даю имя пользователя и пароль и нажимаю кнопку входа в систему - Firefox запрашивает меня, хочу ли я запомнить пароль. Нажимаю "запомнить" и логин работает. - Я выхожу из системы и возвращаюсь на страницу входа. Я бы ожидал, что поля имени пользователя и пароля будут предварительно заполнены, но это не так. Обратите внимание, что я не (хочу) использовать файлы cookie.

Вот код для этой страницы:

<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">&nbsp;</div>
        <div class="login_line_right"><input class="button" value="login" type="submit"></div>
    </div> <!-- login_line -->
</form> <!-- login_form -->

Что не так с моим кодом? Как я могу заставить автозаполнение работать в FF с моим кодом?

Автозаполнение действительно работает, например, с gmail. Каждый раз, когда я посещаю страницу входа в Gmail, поля электронной почты и пароля заполняются правильно. Я не использую флажок «запомнить меня на этом компьютере», поэтому файлы cookie не используются.

Обновить Я использую php и FF3

Спасибо, Джаспер


person Community    schedule 22.11.2008    source источник
comment
Я использую FF3, и у меня он работает. Я использовал ваш пример и поместил его в форму ASPX, и все в порядке.   -  person netadictos    schedule 22.11.2008
comment
Есть ли разница, если вы используете action = ... вместо onsubmit?   -  person activout.se    schedule 22.11.2008
comment
Привет, Netadictos. Можете ли вы объяснить, что вы имеете в виду, говоря «поместить это в форму ASPX»? HTML-код содержит форму, которая обычно находится в теле HTML-страницы.   -  person    schedule 23.11.2008
comment
Привет Divideandconquer. Я также пробовал эту форму с дополнительным действием = .. но не без onsubmit. Это не должно иметь никакого значения ... Кроме того, я хочу, чтобы форма вызывала функцию js, и я не думаю, что это возможно с помощью action = ..   -  person    schedule 23.11.2008
comment
Джаспер, в следующий раз не задавай повторяющихся вопросов. Спросите один раз и придерживайтесь этого.   -  person Robert K    schedule 24.12.2008


Ответы (5)


Включает ли ваш URL-адрес входа идентификатор сеанса, который меняется каждый раз?

person John Topley    schedule 22.11.2008

Проверяли ли вы свой список сохраненных паролей, чтобы узнать, не указали ли вы Firefox, чтобы он никогда не запоминал учетные данные для вашего сайта?

person Ross    schedule 22.11.2008

Firefox предлагает мне запомнить пароль. Нажимаю "запомнить" и логин работает. - Я выхожу из системы и возвращаюсь на страницу входа. Я бы ожидал, что поля имени пользователя и пароля будут предварительно заполнены

Firefox работает не так. Вы должны ввести имя пользователя, и он запомнит пароль для этого имени пользователя.

person AmbroseChapel    schedule 23.11.2008

Я вставил ваш HTML-код в пустой HTML-документ, удалил onsubmit="" javascript-код, ввел имя пользователя и пароль и нажал «Отправить», мне было предложено сохранить пароль, и в следующий раз, когда я нажму «перезагрузить», FF3 автоматически заполнил оба поля.

WorksForMe (тм).

Интересно, меняет ли что-нибудь для вас удаление кода onsubmit="" ...?

Также будет полезна ссылка на работающий пример.

person Már Örlygsson    schedule 05.12.2008

Я выяснил, почему не работает. Я использую ajax для вставки примера html в контейнер div. По-видимому, firefox очень чувствителен к этому, потому что (как упоминалось ранее) мой код действительно работает в IE.

person jzp74    schedule 24.12.2008