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

AJAX Discussion :

[AJAX] Auto complétion d'un textearea


Sujet :

AJAX

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Points : 48
    Points
    48
    Par défaut [AJAX] Auto complétion d'un textearea
    Bonjour je souhaiterais savoir si quelqu'un sait comment mettre en place une auto complétion sur un textarea.
    Je vais vous expliquez plus en détail ma demande.
    Sur mon site web lorsque j'upload un fichier j'ai une zone de texte me permettant de renseigner les tags du fichiers que j'ai uploadé. Dans la zone de texte les différents tags seront séparés par des virgules et j'aimerais que lorsque je rentre les tags dans ma zone de texte qu'il y ai une auto complétion de ma saisi avec les tags que j'aurai rentré précédemment pour d'autres fichiers.
    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut, voici un tutoriel sur l'autocomplétition:
    http://dcabasson.developpez.com/arti...ion-pas-a-pas/

  3. #3
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Points : 48
    Points
    48
    Par défaut
    Merci je viens de parcourir rapidement le tuto que tu ma donné mais il me semble que la méthode qui est indiqué marche juste lorsque l'on tape un seul mot dans une zone de texte et non plusieurs mots séparés par exemple par des virgules dans la même zone de texte. Est ce que cela te semble possible?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Points : 160
    Points
    160
    Par défaut
    Je n'ai pas lu le tuto, mais je suppose qu'il se base sur l'évènement onKeyUp (ou quelque chose comme ça).
    Du coup, il suffirait de récupérer le dernier caractère entré, et s'il correspond à ',' (dans ton cas), on relance la méthode de complétion.

    en pseudo-code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function initCompletion() {
       var lastChar = element.innerHTML.substring(element.innerHTML.length-2,element.innerHTML-1); //pour un textArea, sinon remplacer innerHTML par value
       if (lastChar == ',') {
          reloadCompletion();
       }
    }

  5. #5
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Points : 48
    Points
    48
    Par défaut
    Merci BSans c'est une bonne idée je vais essayer d'adapter le tuto avec le script que tu m'as donné. Je te tiens au courant du résultat.
    Merci

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Points : 160
    Points
    160
    Par défaut
    J'ai oublié de rajouté quelque chose qui peut servir.

    Tu pourrais passer à ta méthode d'auto-complétion le début de la chaîne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function completion (toComplete) {
        // traitement
    }
    et donc, dans la méthode appelée par l'évènement onKeyUp tu concatène :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function initCompletion() {
       var lastChar = element.innerHTML.substring(element.innerHTML.length-2,element.innerHTML-1); //pour un textArea, sinon remplacer innerHTML par value
       if (lastChar == ',') {
          reloadCompletion();
       } else {
          chaine += lastChar;
          completion(chaine);
        }
    }

  7. #7
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Points : 48
    Points
    48
    Par défaut
    Merci ta méthode marche niquel

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

Discussions similaires

  1. [AJAX] Ajax recherche par auto-complétion
    Par Johnny P. dans le forum AJAX
    Réponses: 1
    Dernier message: 06/08/2012, 09h21
  2. [script.aculo.us] Ajax.Autocompleter: visualisation du résultat de l’auto-complétion
    Par iday75 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 05/08/2011, 10h04
  3. [PHP-JS] Auto-complétion [Ajax,PHP & MySQL]
    Par xdiethank dans le forum Langage
    Réponses: 4
    Dernier message: 21/07/2006, 15h18

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