J'ai trouvé une solution complète pour cette question. (J'ai testé cela en Chrome 27 et Firefox 21).
Il y a deux choses à savoir: 1.Déclencheur "Enregistrer le mot de passe' et 2.Restaurer les sauvés nom d'utilisateur/mot de passe
1.Déclencheur "Enregistrer le mot de passe":
Pour Firefox 21, 'Enregistrer le mot de passe est déclenché lorsqu'il détecte qu'il y a un formulaire contenant champ de texte de saisie et de saisie de mot de passe de domaine est soumis. Donc nous avons juste besoin d'utiliser
$('#loginButton').click(someFunctionForLogin);
$('#loginForm').submit(function(event){event.preventDefault();});
someFunctionForLogin()
ne l'ajax login et recharger/redirection vers la signé en page en event.preventDefault()
bloque l'origine de la redirection en raison de la soumission du formulaire.
Si vous faites affaire avec Firefox uniquement, la solution ci-dessus est suffisant, mais il ne fonctionne pas sous Chrome 27. Puis vous demandez comment déclencher "Enregistrer le mot de passe' dans google Chrome 27.
Pour google Chrome 27, 'Enregistrer le mot de passe est déclenché après il est redirigé vers la page en soumettant le formulaire qui contient le champ de saisie de texte avec l'attribut name= "nom d'utilisateur" et le mot de passe d'entrée de champ avec l'attribut name= "mot de passe". Par conséquent, nous ne pouvons pas bloquer la redirection en raison de la soumission du formulaire, mais nous pouvons faire la redirection après nous avons fait l'ajax login. (Si vous voulez l'ajax login de ne pas recharger la page ou de ne pas rediriger vers une page, malheureusement, ma solution ne fonctionne pas.) Ensuite, nous pouvons utiliser
<form id='loginForm' action='signedIn.xxx' method='post'>
<input type='text' name='username'>
<input type='password' name='password'>
<button id='loginButton' type='button'>Login</button>
</form>
$('#loginButton').click(someFunctionForLogin);
function someFunctionForLogin()
{
if(//ajax login success)
{
$('#loginForm').submit();
}
else
{
//do something to show login fail(e.g. display fail messages)
}
}
Bouton avec type='button' va prendre la forme de ne pas être soumis lorsque le bouton est cliqué.
Ensuite, la liaison d'une fonction à la touche d'ajax login. Enfin, en appelant $('#loginForm').submit(); redirige vers la signature en page. Si la signature en page est la page en cours, alors vous pouvez remplacer 'signedIn.xxx "par page en cours pour faire de la "actualiser".
Désormais, vous trouverez dans la méthode de Chrome 27 travaille aussi dans Firefox 21. Il est donc préférable de l'utiliser.
2.Restaurer les sauvés nom d'utilisateur/mot de passe:
Si vous avez déjà le loginForm codée en dur en HTML, alors vous aurez trouvé aucun problème pour restaurer le mot de passe enregistré dans le loginForm. Cependant, les sauvés nom d'utilisateur/mot de passe ne seront pas lier à la loginForm si vous utilisez js/jquery pour rendre le loginForm de façon dynamique. Parce que les sauvés nom d'utilisateur/mot de passe est lie que lorsque le document est chargé. Par conséquent, vous avez besoin de coder en dur le loginForm que le HTML et utiliser js/jquery/afficher/masquer le loginForm de façon dynamique.
Remarque:
Si vous ne l'ajax login, ne pas ajouter d'autocomplete= " off " dans la balise de formulaire
<form id='loginForm' action='signedIn.xxx' autocomplete='off'>
autocomplete= "off" va faire de la restauration de nom d'utilisateur/mot de passe dans le loginForm échoue parce que vous ne lui permettent pas 'auto-complété" le nom d'utilisateur/mot de passe.