76 votes

Firefox conserve les données du formulaire lors du rechargement

J'ai un gros problème avec la fonctionnalité de Firefox qui conserve les données que l'utilisateur a remplies lors du rechargement. F5 . Si j'utilise Ctrl + F5 les formulaires sont effacés et c'est génial. Mon problème est que tous mes utilisateurs ne savent pas que c'est ce qu'ils doivent faire pour forcer le nettoyage de la saisie. Existe-t-il un moyen, dans le code HTML ou les en-têtes de réponse, d'indiquer à Firefox de ne pas conserver les données dans les formulaires ?

3 votes

Pourquoi ne pas créer un bouton qui efface les formulaires ? Cela semble plus facile à comprendre pour les utilisateurs que de les laisser appuyer sur f5.

1 votes

C'est une idée, mais je ne veux pas embêter mes utilisateurs avec ça.

2 votes

La plupart des utilisateurs veulent pour conserver les données du formulaire lors du rechargement...

109voto

Andreas Points 1220

Il suffit d'ajouter autocomplete="off" à vos entrées et vous résoudrez le problème.

<input type="text" autocomplete="off">

jQuery pour résoudre ce problème sur toutes les entrées et zones de texte

$('input,textarea').attr('autocomplete', 'off');

33 votes

Vous pouvez plutôt ajouter <form autocomplete="off"></form pour désactiver entièrement ce cache pour le formulaire

10 votes

Malheureusement, cela supprime également la fonctionnalité de saisie automatique en cliquant sur l'élément du formulaire (qui affiche une liste déroulante des valeurs précédemment saisies).

0 votes

Mais cette solution ne fonctionne pas pour le rechargement de la page en appuyant sur le bouton F5 ou le bouton de rechargement du navigateur Firefox.

14voto

Daniel G. Points 51

Au lieu de passer par toutes les entrées, vous pouvez aussi simplement ajouter l'attribut à votre élément de formulaire comme suit :

<form method="post" autocomplete="off">...</form>

Cependant, les méthodes mentionnées ci-dessus sur domReady n'ont pas fonctionné pour moi...

0 votes

La meilleure solution à cette fonctionnalité oppressante de Firefox. À utiliser avec précaution ; il faudra peut-être recourir à une autre méthode pour éviter la perte involontaire des données de l'utilisateur.

7voto

Felix Points 1186

Si vous souhaitez conserver la fonction de saisie automatique du navigateur (voir les autres réponses valables), essayez d'ajouter l'attribut name au formulaire et donnez-lui une valeur aléatoire. Cela a fonctionné pour moi :

<form id="my-form" name="<random-hash>">
...
</form>

1 votes

C'est une excellente idée, et j'espère qu'ils ne la contourneront pas. Ça coupe le milieu, compromis à l'appui.

1 votes

Vous devez être capable d'insérer la chaîne unique au moment de l'exécution, mais si vous le pouvez, cela semble fonctionner !

0 votes

Ça pourrait être vrai. Je viens de l'essayer avec un formulaire rendu par le serveur.

6voto

www139 Points 2938
/*reset form elements (firefox saves it)*/

function resetElements()
{
     var inputs = document.querySelectorAll('input[type=text]');
     //you get the idea.....you can retrieve all inputs by tag name input
     for(var i = 0; i < inputs.length; i++) {
         document.getElementsByTagName('input')[i].value = "";
     }
     var textareas = document.getElementsByTagName('textarea');
     for(var i = 0; i < textareas.length; i++) {
         document.getElementsByTagName('textarea')[i].value = "";
     }
}

Appelez cette fonction au chargement.

2 votes

Ce que j'aime dans une solution Javascript, c'est que les suggestions de saisie continuent de fonctionner, seules les valeurs des champs de saisie sont supprimées, alors que autocomplete="off" désactive également les suggestions.

6voto

Konrad K. Points 41

Je pense que le moyen le plus simple et le plus rapide de le faire est de

$('input,textarea').attr('autocomplete', 'off');

0 votes

Non, en utilisant jquery, cela ne fonctionne pas. Je pense que la désactivation de l'autocomplétion fonctionnera si le code jquery est exécuté avant l'autocomplétion par le navigateur ! !!!.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X