Supprimer historique recherche champ input formulaire

WRInaute discret
Bonjour,

Dans un champ input de mon formulaire une div s'affiche as-you-type sous forme d'une liste de choix.
Or si l'utilisateur n'a pas désactivé dans son navigateur l'enregistrement des informations saisies dans un formulaire, une div s'affiche également (au dessus de la mienne) si l'utilisateur entre le début d'une recherche déjà saisie.

Avez-vous une idée contre ce problème du plus mauvais effet ?

Merci d'avance.
 
WRInaute accro
il suffit de changer le nom des éléments du form lors de chaque affichage, genre nom1234 puis nom1324, etc...
 
WRInaute discret
Tu parles de l'attribut NAME ou ID du champ INPUT ?
Si on change un de ces parametres, ca va poser des problèmes pour le script d'exploitation du formulaire!!!
 
WRInaute accro
oui, c'est ça et effectivement, cela va poser un léger problème, que je ne pense pas insurmontable. Un certain nombre de grands sites fonctionnent comme cela.
Ca évite aussi le spam de formulaire.
 
WRInaute discret
Je suis d'accord avec toi ca doit pas etre trop dur à faire.

Mais au début, je pensait qu'il devait avoir une bidouille en js pour contrer ce problème.

Va falloir que je me refoutte dans mon code alors ! :(
 
WRInaute discret
Je reviens à la charge car j'ai constaté que le site http://www.caisse-epargne.fr avait un champ input dans le formulaire d'accès à ses comptes qui ne permet pas de retrouver l'historique de saisie, bien que l'option du navigateur pour enregistrer les informations saisies dans les formulaires soit active.

A priori, il n'utilise pas la technique de changer le nom de l'input lors de chaque affichage. J'ai essayé de trouver leur technique mais j'ai pas trouvé. Si vous pouvez m'aider...

Merci d'avance
 
Nouveau WRInaute
Alors moi je cherche exactement la même chose...

J'ai trouvé 2 solutions :
1) La solution GMAIL : utiliser un textarea (-> plusieurs lignes), sachant que les textarea ne stockent pas d'historique, et utiliser un simple évènement onkeypress /onkeyup/onkeydown pour tester quand une touche est appuyée. SI c'est entrée, on fait return false et on envoie, si c'est autre chose on fait return true et la lettre est tapée. Simple comme bonjour.

2) La solution de changer le nom/ID du input à chaque fois : ça ne pose pas de pb, il suffit que ce champ soit ignoré par le script PHP. Oui mais comment je récupère le texte moi ? ben c'est simple, dans l'attribut "onsubmit" du formulaire (pas de l'input, du formulaire !) on met un bout de javascript qui récupère la "value" de l'input changeant, dont l'ID temporaire est stocké dans une variable, puis on colle ça dans le "input" du vrai champ "message", qui est lui caché :D

P.S. : petite suggestion, trouvée en reversant le chatbox des forums BB, c'est une bonne idée d'inclure un champ caché qui contient le message _reçu_ PRECEDENT, donc si le client a zappé un message (pb de connexion, lag, etc.) le script PHP le détecte (tiens, c'est pas ça le message précédent ???) et lui dit de faire une actualisation plus poussée des messages reçus, pour pas dire complète.

N.B. : c'est pas un div, l'historique, c'est un élément propre au navigateur qui ne s'affiche pas dans le code HTML, même en cours d'exécution. Pas moyen donc le le cacher le faire passer derrière ou autre.
 
Nouveau WRInaute
La solution pour firefox

Bonjour

en ajoutant
Code:
autocomplete="off"
sur le champ texte ca fonctionne

Code:
<input type="text" name="textfield" autocomplete="off" />
 
Nouveau WRInaute
Selection A a dit:
Encore moi mais c'est pour des bonnes nouvelles :



1ère solution :

http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/a ... mplete.asp

attribut autocomplete='off' dans la balise INPUT. Solution qui doit marcher que pour IE et n'est pas valide XHTML. :evil: On oublie !



2ème solution :

http://chrisholland.blogspot.com/2004/11/banks-protect-privacy-disable.html

Je m'en vais la tester en étant extrement confiant ! :)

Les deux liens utilises le même attribut, sauf que dans le second c'est gérer dynamiquement =)
 
WRInaute impliqué
Re:

nicolas34500 a dit:
2) La solution de changer le nom/ID du input à chaque fois : ça ne pose pas de pb, il suffit que ce champ soit ignoré par le script PHP. Oui mais comment je récupère le texte moi ? ben c'est simple, dans l'attribut "onsubmit" du formulaire (pas de l'input, du formulaire !) on met un bout de javascript qui récupère la "value" de l'input changeant, dont l'ID temporaire est stocké dans une variable, puis on colle ça dans le "input" du vrai champ "message", qui est lui caché :D

une regex simple coté serveur doit permettre de récupérer ton champ quoi qu'il arrive...
 
Discussions similaires
Haut