Forcer autocomplete="off" des input text dans Firefox

J'ai été confronté à un problème récemment :  les formulaires de l'application Web que je suis en train de développer sont toujours pré-remplis alors même que j'ai mis l'attribut autocomplete="off" dans mes <input>.

C'est pas non plus la fin du monde, mais, bon, ça me gave. Si je met autocomplete à off, c'est justement pour que les navigateurs ne les remplissent pas automatiquement. Cela peut être gênant, par exemple si les champs login/mot de passe sont déjà préremplis alors même que vous vous étiez déconnecté de votre site favori. Si une personne utilisant votre ordinateur navigue sur le même site que vous, ça lui sera facile de se connecter à votre place : les champs du formulaire de connexion sont déjà remplis !

Et puis, par principe, je n'aime pas qu'on me force la main.

Voici donc une astuce JQuery qui va bien.

Il suffit d'utiliser une fonction qui parcourt le corps de la page Web et qui vide la valeur des champs de formulaire. Pour que ce soit efficace, il faut délayer cette fonction car ce satané Renard de Feu remplit les champs une fois que la page est chargée. Il faut donc les vider après!

Le code ci-dessus va vider les champs qui ont l'attribut autocomplete="off" 300 millisecondes après le $(document).ready().

Si toutefois le temps de chargement de votre page est un peu long, il sera peut être nécessaire de rallonger le timer.