|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
L'un des avantages de retenir les informations d'un utilisateur
pour les champs d'un formulaire peut se retourner contre ce
dernier s'il utilise ce formulaire sur un ordinateur public.
On pourra en toute sécurité (selon le navigateur
) faire des
achats en ligne voire consulter son compte en banque, mais
il est fort possible que les 16 numéros de la carte bleue
utilisée soient conservées dans un formulaire
et donc directement
accessible à l'utilisateur suivant.
Côté
client, certains navigateurs permettent d'annuler ce comportement
des formulaires, mais ce n'est pas toujours le cas.
Côté application, il est possible d'indiquer qu'un champ précis
ne doit pas être retenu, ce de deux manières.
La première n'est pas valide, mais a le mérite d'être simple
à mettre en place : il suffit d'ajouter à la balise INPUT
ciblée l'attribut autocomplete="off".
Cette solution fonctionne pour de nombreux navigateurs, mais
ne passe pas la validation HTML, ce qui peut être un problème
pour certains.
La seconde, exposée par Chris
Holland, utilise JavaScript et le DOM, et s'utilise comme
suit :
<input type="text" class="annuleCompletionDonnees"
name="numeroCarteBleu" value=""/>
Et le script suivant à la fin du document :
<script language="JavaScript"
type="text/javascript">
if (document.getElementsByTagName) {
var inputElements = document.getElementsByTagName("input");
for (i=0; inputElements[i]; i++) {
if (inputElements[i].className &&
(inputElements[i].className.indexOf("annuleCompletionDonnees")
!= -1)) {
inputElements[i].setAttribute("autocomplete","off");
}
}
}
</script>
|