OVH Cloud OVH Cloud

Comment vider un champ password

20 réponses
Avatar
Denis Berger
Y a-t-il une solution javascript (ou autre !) pour empêcher le navigateur de
préremplir le champ password d'un formulaire lorsque ce formulaire a déjà
été saisi ?

Denis

10 réponses

1 2
Avatar
ASM

onClick="this.value='';">


Le onClick n'est pris en compte qu'après le Submit ?


??? pas ni compris ??
au clic dans le champ : le champ est vidé
que vient faire le submit dans l'affaire ?

--
Stephane Moriaux et son [moins] vieux Mac


Avatar
olivier
Y a-t-il une solution javascript (ou autre !) pour empêcher le navigateur de
préremplir le champ password d'un formulaire lorsque ce formulaire a déjà
été saisi ?


Attribuer un id aléatoire (ou incrémental) au champ password et se
débrouiller avec un hidden pour savoir comment il s'appelle :-)

<input type="password" name="ref00000000000001" value="">
<input type="hidden" name="id-champ-pwd" value="ref00000000000001">

ça devrait fonctionner...

--
olivier

Avatar
Denis Berger
"mv1" <mv1 at free point fr> a écrit dans le message de news:
4459a55a$0$30672$

"Denis Berger" a écrit dans le message de news:
4457aaa4$0$16730$
Y a-t-il une solution javascript (ou autre !) pour empêcher le navigateur
de préremplir le champ password d'un formulaire lorsque ce formulaire a
déjà été saisi ?

Denis



'lut,

Perso, je fait : <input type="password" onFocus="this.value='';"
onClick="this.value='';">

- mv1 -


Oui, mais ça ne marche pas avec FF car dans ce navigateur, il n'y a pas
besoin de faire passer le focus dans le champ password (alors que dans IE,
si). Il suffit de taper quelques caractères du champ text qui précède en
général le champ password pour que ce dernier se remplisse sans avoir besoin
d'y entrer. Ensuite... submit et basta.

J'avais fait quelque chose du même genre qui obligeait en plus à passer par
le champ password pour faire jouer le focus, avec flag testé avant
d'accepter le submit. Ca marche mais ça laisse apparaître les étoiles de
façon éphémère et ça ne me plaît pas, d'où mon post.

Le autocomplete="off" de Laurent me plaisait bien... mais il ne semble pas
marcher avec FF non plus.

Snif... Merci quand même.

Denis


Avatar
Denis Berger
"Laurent Vilday" a écrit dans le message de news:
4457da75$0$12872$
Y a-t-il une solution javascript (ou autre !) pour empêcher le navigateur
de préremplir le champ password d'un formulaire lorsque ce formulaire a
déjà été saisi ?


un truc comme ça ?

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

Mais avec ça, plus de validation du source HTML, c'est évidemment pas
valide (yet)

En javascript on peut faire :

function $(e) { return getElementById(e); }

function pasAutocomplete(elt)
{
$(elt).setAttribute('autocomplete', "off");
$(elt).autocomplete = 'off';
}

Je sais pas trop laquelle des deux façons marche sur tel navigateur et pas
sur tel autre. D'ailleurs en réalité j'utilise ça, parce que y'en a
toujours un (navigateur) pour venir pleurer :

/**
* Désactive l'autocomplete ajouté par les navigateurs
* @param {string} elt ID de l'élément INPUT
* @public
*/
function ac_desactiveBrowsers(elt)
{
try
{
$(elt).setAttribute('autocomplete', "off");
}
catch (ex)
{
try { $(elt).autocomplete = 'off'; } catch (ex) {}
}
}

--
laurent


C'est parfait avec IE !
Mais... ça n'a pas l'air de marcher avec FF. A moins que je n'aie pas su
l'utiliser ? J'ai mis ça :
<body onLoad="ac_desactiveBrowsers('mdp');">
et l'id 'mdp' pour le champ password.

Merci de ta réponse.

Denis


Avatar
ASM
"mv1" <mv1 at free point fr> a écrit dans le message de news:
4459a55a$0$30672$

"Denis Berger" a écrit dans le message de news:
4457aaa4$0$16730$

Y a-t-il une solution javascript (ou autre !) pour empêcher le navigateur
de préremplir le champ password d'un formulaire lorsque ce formulaire a
déjà été saisi ?

Denis



'lut,

Perso, je fait : <input type="password" onFocus="this.value='';"
onClick="this.value='';">

- mv1 -



Oui, mais ça ne marche pas avec FF car dans ce navigateur, il n'y a pas
besoin de faire passer le focus dans le champ password (alors que dans IE,
si). Il suffit de taper quelques caractères du champ text qui précède en
général le champ password pour que ce dernier se remplisse sans avoir besoin
d'y entrer. Ensuite... submit et basta.


Comme je ne permets pas à mes navigateurs de se 'souvenir' des
formulaires (et surtout des passwords) je découvre qu'il semblerait que
l'autocomplétion des champs se ferait systématiquement et
automatiquement au chargement du form ? (ou quasi)

il faudrait donc pouvoir vider ce champ s'il n'a pas eu le focus avant
le submit, à ce que je comprends ...

<script type="text/javascript">
var passFocus = false;
</script>
<form onsubmit="return passFocus;" ...>
<input type=password
onfocus = "this.value='';"
onclick = "this.value='';"
onchange = "if(this.value!='') passFocus=true;">
</form>



--
Stephane Moriaux et son [moins] vieux Mac



Avatar
Laurent Vilday
"Laurent Vilday" a écrit dans le message de news:
function $(e) { return getElementById(e); }
function ac_desactiveBrowsers(elt)
{
try
{
$(elt).setAttribute('autocomplete', "off");
}
catch (ex)
{
try { $(elt).autocomplete = 'off'; } catch (ex) {}
}
}
C'est parfait avec IE !

Mais... ça n'a pas l'air de marcher avec FF. A moins que je n'aie pas su
l'utiliser ? J'ai mis ça :
<body onLoad="ac_desactiveBrowsers('mdp');">


Salut, ca passe pas sur FF si tu l'as copié/collé tel quel. J'ai été
trop vite et j'ai mal relu, désolé. L'erreur vient de la fonction
raccourci. A priori avec FF il devrait dire un message d'erreur dans la
console du genre : getElementById is undefined
Ce qui est normal puisque c'est défini dans l'objet document et non pas
dans le scope global comme je l'avait écrit la premiere fois. C'est
d'ailleurs étonnant que ca passe avec IE, quoique, plus rien ne m'étonne
avec IE :D

La "bonne" syntaxe (cough cough, si jamais une bonne syntaxe existe) c'est :

function $(e) { return document.getElementById(e); }

Et là, ca devrait mieux passer.

Encore désolé :(

--
laurent


Avatar
Denis Berger
Beau contournement. Merci !

denis

"olivier" a écrit dans le message de news:
4459dbb7$0$18319$
Y a-t-il une solution javascript (ou autre !) pour empêcher le navigateur
de préremplir le champ password d'un formulaire lorsque ce formulaire a
déjà été saisi ?


Attribuer un id aléatoire (ou incrémental) au champ password et se
débrouiller avec un hidden pour savoir comment il s'appelle :-)

<input type="password" name="ref00000000000001" value="">
<input type="hidden" name="id-champ-pwd" value="ref00000000000001">

ça devrait fonctionner...

--
olivier



Avatar
Denis Berger
"Laurent Vilday" a écrit dans le message de news:
4459fd36$0$21519$
"Laurent Vilday" a écrit dans le message de news:
function $(e) { return getElementById(e); }
function ac_desactiveBrowsers(elt)
{
try
{
$(elt).setAttribute('autocomplete', "off");
}
catch (ex)
{
try { $(elt).autocomplete = 'off'; } catch (ex) {}
}
}
C'est parfait avec IE !

Mais... ça n'a pas l'air de marcher avec FF. A moins que je n'aie pas su
l'utiliser ? J'ai mis ça :
<body onLoad="ac_desactiveBrowsers('mdp');">


Salut, ca passe pas sur FF si tu l'as copié/collé tel quel. J'ai été trop
vite et j'ai mal relu, désolé. L'erreur vient de la fonction raccourci. A
priori avec FF il devrait dire un message d'erreur dans la console du
genre : getElementById is undefined
Ce qui est normal puisque c'est défini dans l'objet document et non pas
dans le scope global comme je l'avait écrit la premiere fois. C'est
d'ailleurs étonnant que ca passe avec IE, quoique, plus rien ne m'étonne
avec IE :D

La "bonne" syntaxe (cough cough, si jamais une bonne syntaxe existe) c'est
:

function $(e) { return document.getElementById(e); }

Et là, ca devrait mieux passer.

Encore désolé :(

--
laurent


Yes ! Ca marche bien.
Merci.

denis



Avatar
Olivier Miakinen

onClick="this.value='';">


Le onClick n'est pris en compte qu'après le Submit ?


??? pas ni compris ??
au clic dans le champ : le champ est vidé
que vient faire le submit dans l'affaire ?


J'avais confondu le clic sur le champ password avec celui sur le bouton
de soumission du formulaire. Toutes mes excuses, donc : je n'ai pas
d'autre objection.

--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)



Avatar
olivier
Beau contournement. Merci !


de rien. Je pense que c'est la solution la plus radicale et elle est
infaillible. Sans javascript par contre, désolé pour f.c.l.javascript :-)

--
olivier

1 2