IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Rafraichissement d'une liste en autocomplétion


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 13
    Points : 11
    Points
    11
    Par défaut [AJAX] Rafraichissement d'une liste en autocomplétion
    Bonjour,

    J'utilise des zones de texte avec de l'autocomplétion sur une page (PHP + JS).

    J'ai 3 zones de texte.
    Aucun problème sur ma 1ière zone : tout fonctionne bien
    Mais sur ma 2nde et ma 3ième, j'ai le problème suivant :
    exemple :
    saisi du 1er caractère --> affichage de la liste
    saisi du 2nd caractère --> la liste affichée lors de la saisie du 1er caractère reste affichée en arrière plan avec ma nouvelle liste (celle générée lors de la saisie du 2nd caractère).

    Que puis-je faire pour éviter celà ?

    merçi

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    salut !

    quel sont les différences majeurs entre la première zone de texte et les deux autres ? ou bien est-ce que les deux autres ont une ressemblance quelqueconque ??

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Les zones de textes sont similaires.
    La seule différence c'est la page php qui est appellée pour former la liste.
    Pour celà j'ai ajouter une variable que je transmet lors de l'appel de la fonction : initAutoComplete.

    J'ai utilisé le code du tutorial Ajax - une autocomplétion pas à pas.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    hum... donc on peut dire que la zone de texte 1 appel la page toto.php mais que que les zone de texte 2 et 3 appelent la page tata.php...

    j'au également utilisé ce tuto pour un projet et je n'ai pas de problèmes... as-tu une différence majeur entre les deux pages php ? il faudrait peut etre un peu préciser ce que tu fais dans les deux pages php pour avoir une idée de la chose...

    Mais tu confirme que tu n'a qu'une seul page "server" ? j'enttend par la, la page qui contient le gros js...

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    oui, j'ai qu'une seule page 'server'
    et une page php pour construire la liste des suggestions.

    je crois avoir compris d'où viens mon problème :
    c l'appel de la fonction initAutoComplete

    mon formulaire, en résumé :
    2 options
    3 champs texte avec des listes en autocomplétion
    d'autres champs textes de saisie simple
    et des champs div pour l'affichage

    pour mon 1er champs texte :
    l'appel de la fonction initAutoComplete se fait lors de la sélection d'une option

    pour mes 2 autres champs :
    j'ai mis l'appel de la fontion sur le onKeyPress, comme ceci
    <input type="text" name="code" id="code" onKeyPress="liste_code();">
    C'est donc peut-etre de là que viens mon problème :
    à chaque saisi d'un caractère, il créé une nouvelle liste.

    Pour éviter celà, il faudrai que je change l'endroi où j'appel ma fonction
    mais je ne sais pas où la mettre .
    Quelqu'un aurait-il une idée ?

    merçi de votre aide.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    j'ai mis l'appel de la fontion sur le onKeyPress, comme ceci
    pas super comme idée. enfin je ne sais pas comment ajax réagis mais a mon avis tu devrai remplacer ton onKeyPress par un onKeyUp ! parce que'avec le key press, peut etre il rentre dans la fonction liste_code(); avant d'avoir setter réellement la valeur de la touche tendis qu'avec le OnKeyUp, on est sur qu'elle est setter !

    essaie de faire ce changement

  7. #7
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par emilie1t
    J'ai utilisé le code du tutorial Ajax - une autocomplétion pas à pas.
    Ce code est complètement inadapté à plusieurs champs sur une même page. Un jour quand j'aurais le temps, j'essayerai de le porter en composant qui puisse faire ça proprement

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    ha cest bon a savoir sa... moi qui voulais l'intégrer pour une recherche...

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    J'ai mis l'appel de ma fonction initAutoComplete sur un onKeyUp
    ca marche bcp mieux, je n'ai plus de prob

    je suis arrivée à mes fins même si c pas la solution la plus optimale
    je surveillerai donc les évolutions sur l'autocomplétion.

    Merçi pour votre aide et pour le tuto qui m'a bien servi.

  10. #10
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    J'arrive un peu après la bataille

    C'était juste pour dire que j'avais le même problème, sauf que j'avais eu la bonne idée de mettre initAutoComplete sur le onFocus du champ, ce qui me donnait un comportement étrange (cela dit ca marchait dans la plupart des cas, ce qui était assez énervant !!!)

    Donc, problème résolu également, j'en profite pour saluer une fois de plus le superbe travail pour ce tuto !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX+PHP] Récupérer une liste de checkbox en tableau
    Par dorian53 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/04/2007, 10h03
  2. [AJAX] Lier une liste déroulant à un champ texte
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 13/04/2007, 14h50
  3. [débutant] rafraichissement d'une liste déroulante
    Par Anthony17 dans le forum Access
    Réponses: 4
    Dernier message: 03/07/2006, 15h25
  4. ajax,rafraichissement avec une liste deroulante
    Par klimero dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/04/2006, 09h41
  5. Rafraichissement d'une liste déroulante
    Par decour dans le forum Access
    Réponses: 1
    Dernier message: 04/11/2005, 17h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo