Браузер не предложит сохранить пароль - PullRequest
2 голосов
/ 03 февраля 2012

Это довольно распространенный вопрос, но решения, которые я нашел в постах других людей, связаны либо с конкретным браузером (в основном с firefox), либо с неправильным использованием имен (name = "U12-678132-34")

Мои проблемы связаны с браузерами, отличными от Firefox (Firefox всеми способами работает).

Форма, которую я использую, является довольно стандартной HTML-формой, но ее отправка выполняется с помощью JavaScript (jQuery AJAX).1006 * Firefox всеми способами просит запомнить пароль (если это новый пользователь) и заполняет форму, если вы снова попадаете на ту же страницу.Но когда дело доходит до Chrome / Safari / IE8-9, они никогда не запрашивают сохранение пароля, если форма отправлена ​​с использованием JavaScript.(Между прочим, я проверил, не установлены ли в браузерах пароли - никогда не помню)

Мой запрос происходит, когда вы нажимаете на ссылку внутри формы или просто нажимаете кнопку «ВВОД» на вашемс клавиатуры, затем он запускает метод $ .submit ().

Существует ли определенный способ отправки, чтобы браузер запрашивал сохранение пароля, как это делает Firefox?или есть способ, по крайней мере, указать конкретному браузеру, такому как Chrome / IE, чтобы заставить этот тип запроса?

Пример формы:

<form class="loginform" method="post" action="">
    <div class="inputfield">
        <input name="email" type="text" class="emailaddress inputclass" value="" title="Email Address" />
    </div>      
    <div class="inputfield">
        <input name="password" type="password" class="password inputclass" title="Password" value="" />
    </div>              
    <div class="submit">
        <a href="javascript:void(0);" class="signinbutton"></a>
        <div class="checking">
            <img src="/preloaders/login-preloader.png"/>
        </div>
        <input type="submit" name="submit" value="submit" style="display:none"/>
    </div>
</form>

Ответы [ 4 ]

3 голосов
/ 03 февраля 2012

Это поведение браузера и его нельзя изменить.Firefox может быть достаточно «умным», чтобы предлагать сохранять пароли без фактической отправки формы, но это может привести к тому, что button в форме также активирует эту опцию, даже если кнопка делает что-то другое.Так что, на мой взгляд, Firefox плохо работает (у меня было много проблем с отправкой форм Firefox, хотя это не нужно).

Если вы действительно хотите, чтобы опция сохранения пароля отображалась,используйте iframe и отправьте в iframe вместо использования AJAX.Затем вы можете использовать AJAX из iframe, чтобы сохранить старое поведение.

0 голосов
/ 03 февраля 2012

Когда вы делаете пост AJAX, тогда -

  1. Удалите теги <form>

  2. вместо <input type="submit", используйте кнопку

  3. принять значения поля и событие нажатия кнопки AJAX после включения

это может сработать.

0 голосов
/ 03 февраля 2012

Глядя на ответ, принятый здесь - Как получить от браузера запрос на сохранение пароля? - кажется, что действительное действие может помочь.

Но я бы предложил его отключитьк поведению браузера и не может контролироваться HTML и / или JavaScript.Если вы хотите запомнить введенные значения, используйте Cookie

0 голосов
/ 03 февраля 2012

прикрепить событие клика к кнопке отправки

$('#id_of_submit').click(function() {
   /your ajax logic
   return false;
});

и по ссылке

$('#id_of_your_link').click(function() {
   $('#id_of_submit').click();
});

это поможет.

...