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 :

Autocompletion sur plusieur champs texte


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut Autocompletion sur plusieur champs texte
    bonjour

    mon soucis est simple je voudrai effectuer une autocompletion pour deux de mes champs je l'ai fait à l'aide de tutorial pour l'un et je voudrai l'adapter en passant un tableau de field mais j'ai des soucis au niveau de l'adaptation des handler mouseout keyUp... et aussi sur l'initialisation des différentes variables

    en soirée je transmettrai mon code si quelqu'un pouvait m'aider j'apprecirai et d'ici la si quelqu'un a quelque chose dans le style ou des idée je suis preneur

    merci pour votre aide d'avance

  2. #2
    Membre averti Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    Moi j'ai ça pour la mise à jour dynamique d'un SELECT au remplissage d'un champ texte INPUT:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    function SearchList(htmlselect,htmltext,caseSensitive){ 
            this.select=htmlselect; 
            this.text=htmltext; 		
            this.allOptions=new Array(); 
            for(i=0;i<this.select.options.length;i++){ 
                this.allOptions[i]=this.select.options[i]; 
            } 
            this.caseSensitive=false; 
            if(caseSensitive) 
                this.caseSensitive=true;         
        } 
     
        /* **********************
        *    Vide le contenu de la liste 
        *****************************/     
        SearchList.prototype.viderListe=function(){ 
            var length=this.select.options.length; 
            for(i=length-1;i>=0;i--){ 
                this.select.options[i]=null; 
            } 
        } 
     
        /* *********************************************
        *    Restore le contenu de la liste avec les valeurs initiales 
        ******************************************************/ 
        SearchList.prototype.restoreListe=function(){ 
            for(i=0;i<this.select.options.length;i++){ 
                this.select.options[i]=null; 
            } 
            for(i=0;i<this.allOptions.length;i++){ 
                this.select.options[i]=this.allOptions[i]; 
            } 
     
        } 
     
        /* **************************************
        *    Met à jour le contenu de la liste en fonction 
        *    du texte saisi dans le champ 
        ******************************************/ 
        SearchList.prototype.MAJList=function(){ 
            var search=this.text.value; 
            if(search=="" || search.length < 1){ 
                this.restoreListe(); 
                return; 
            } 
            else{ 
                this.viderListe(); 
                for(i=0;i<this.allOptions.length;i++){ 
                    if(!this.caseSensitive){ 
                        if(this.allOptions[i].text.toUpperCase().indexOf(search.toUpperCase())==0) 
                            this.select.options[this.select.options.length]=this.allOptions[i]; 
                    } 
                    else{ 
                        if(this.allOptions[i].text.indexOf(search)==0) 
                            this.select.options[this.select.options.length]=this.allOptions[i]; 
                    } 
                } 
            } 
     
     
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Liste = new SearchList(document.getElementById('p_trait'), document.getElementById('p_search'),false )
    Ensuite plus qu'à faire un onKeyUp='Liste.MAJList();'

    J'espère avoir répondu un peu à ta question

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut
    je suis pas que l'on parlai de la meme chose

    je réexplique en grso j'ai deux champs texte Nom et Prenom et je voudrai que ces deux champs est le systeme d'autoCompletion l'ayant fait pour le Nom en premier avec la methode donné dans le tutorial

    la j'ai modifier le code pour qu'il le fasse pour le Nom et le Prenom

    mais j'ai un mecanisme qui ne marche pas lorsque je choisi avec la souris la valeur qui m'interesse dans le le div de suggestion il ne cache pas le div
    et idem qd je choisi avec les fleche il me diminue la div a la suggestion mais quande je change de champs il garde le div visible

    vers ou dans le code je doi regarder car je ne peut pas avant ce soir vous donnez le code complet qui gere les 2 champs

    donc si vous aviez des indications

    merci

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Tempotpo
    je suis pas que l'on parlai de la meme chose

    je réexplique en grso j'ai deux champs texte Nom et Prenom et je voudrai que ces deux champs est le systeme d'autoCompletion l'ayant fait pour le Nom en premier avec la methode donné dans le tutorial

    la j'ai modifier le code pour qu'il le fasse pour le Nom et le Prenom

    mais j'ai un mecanisme qui ne marche pas lorsque je choisi avec la souris la valeur qui m'interesse dans le le div de suggestion il ne cache pas le div
    et idem qd je choisi avec les fleche il me diminue la div a la suggestion mais quande je change de champs il garde le div visible
    Tu as essayé ça:
    blurThenGetFocus(this);
    et ...
    function blurThenGetFocus(afield){
    _cursorUpDownPressed=true;
    afield.blur();
    setTimeout("afield.focus();",10);
    return
    }

    ?
    Citation Envoyé par Tempotpo
    merci
    Et comment as tu fais pour passer les fields en tableau ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut
    ben ouais j'ai fai ce ke tu propose par contre j'ai oublier mon code a mon boulot donc ca va etre dur de le donner

    mais g passer un tableau avec le nom des field et je passe l'index du tableau sur le field et bien entendu g rajouté autant de handler que de champs ca marche sauf qu'il cache pa le id apres selection

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

Discussions similaires

  1. [AJAX] Autocompletion sur plusieurs champs
    Par yves51 dans le forum AJAX
    Réponses: 1
    Dernier message: 13/04/2014, 15h53
  2. Utiliser un datePicker sur plusieurs champs de texte.
    Par scandinave dans le forum Android
    Réponses: 4
    Dernier message: 13/02/2014, 14h28
  3. [AJAX] Autocompletion sur plusieurs champs
    Par popovitch130 dans le forum AJAX
    Réponses: 7
    Dernier message: 16/12/2011, 15h50
  4. Réponses: 1
    Dernier message: 26/08/2011, 15h24
  5. [POO] Adapter un script d'autocompletion pour plusieurs champs texte
    Par tusssss dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 14/04/2008, 17h18

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