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 :

Remplir deux listes select à partir d'une autre


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 60
    Points : 57
    Points
    57
    Par défaut Remplir deux listes select à partir d'une autre
    Bonjour,

    je dois programmer un site en asp.net grand public, donc avec une navigation simplifiée.
    Sur ma page profil, l'utilisateur choisit dans une liste <select> multiligne plusieurs langages.
    En cliquant sur un bouton ajouter il met à jour la liste(<select> multiligne) langues connues et la liste déroulante (<select>) langues préférées.

    Pour l'instant en récupérant diverses choses, j'arrive à mettre à jour la liste langue connues à partir de la liste de toutes les langues, mais bizzarement pas la liste déroulante langues préférées...

    IE me dit :
    Cet objet ne gère pas cette propriété ou cette méthode...

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <script language = "javascript">
    function Deplacer(l1, l2){
      if(l1.options.selectedIndex>=0){
         drpl = document.getElementById('drpPreferedLanguage');
         o = new Option(l1.options[l1.options.selectedIndex].text, l1.options[l1.options.selectedIndex].value);
         l2.options[l2.options.length]=o;
         drpl.options[drpl.options.length]=o;
         l1.options[l1.options.selectedIndex]=null;
         drpl.options[drpl.options.length]=o;
      }
    }
    </script>
    Mes select et bouton sont nommés de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <select name="lstLanguages" size="6" multiple="multiple" id="lstLanguages">
    <option value="français">français</option>
    <option value="anglais">anglais</option>
    <option value="allemand">allemand</option>
    </select>
     
    <select name="lstKnownLanguage" size="6" multiple="multiple" id="lstKnownLanguage"></select>
     
    <select name="drpPreferedLanguage" id="drpPreferedLanguage"></select>
     
    <input id="btnDel" type="button" value="<" onClick="Deplacer(document.getElementById('lstKnownLanguage'),document.getElementById('lstLanguages'))">
     
    <input id="btnAdd" type="button" value=">" onClick="Deplacer(document.getElementById('lstLanguages'),document.getElementById('lstKnownLanguage'))">
    Je me doute de la fréquence de cette question, mais là, je ne comprends pas pourquoi au niveau d'une de mes listes il me dit que ce n'est pas possible, alors qu'entre mes deux listes multiligne tout se passe bien...

    Merci

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script language = "javascript"> 
    function Deplacer(l1, l2){ 
      if(l1.options.selectedIndex>=0){ 
         drpl = document.getElementById('drpPreferedLanguage'); 
         o = new Option(l1.options[l1.options.selectedIndex].text, l1.options[l1.options.selectedIndex].value); 
         l2.options[l2.options.length]=o; 
         drpl.options[drpl.options.length]=new Option(l1.options[l1.options.selectedIndex].text, l1.options[l1.options.selectedIndex].value); 
    ; 
         l1.options[l1.options.selectedIndex]=null; 
     
      } 
    } 
    </script>
    -> deux instances d'options

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    hélas, déjà testé, et ça ne marche pas...

    pourtant ce sont deux balises select... pourquoi dans un cas, tout se rempli correctement, et dans l'autre je récupère l'erreur

    "Cet objet ne gère pas cette propriété ou cette méthode" ??

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par Raduris
    hélas, déjà testé, et ça ne marche pas...
    ca marche sous ie6
    ps : vérifie l'unicité de tes id

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    Alors là, je cale...

    Je viens de refaire le test, j'ai modifié l'id pour être sûr... et toujours la même erreur... alors là !

    Et ça marche chez toi ??? mais c'est dingue ça ?!!

    J'ai également IE6... grumph... qu'est ce qui coince donc :/

    bon, je vais retourner voir ça, dire que j'avais imaginer d'y passer 20 mn et basta !!! :/

    merci pour tes infos, si jamais tu as d'autres idées, je suis preneur.

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    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
    <HTML> 
     
    <script language = "javascript"> 
    function Deplacer(l1, l2){ 
      if(l1.options.selectedIndex>=0){ 
         drpl = document.getElementById('drpPreferedLanguage'); 
     
         o = new Option(l1.options[l1.options.selectedIndex].text, l1.options[l1.options.selectedIndex].value); 
         l2.options[l2.options.length]=o; 
     
         drpl.options[drpl.options.length]=new Option(l1.options[l1.options.selectedIndex].text, l1.options[l1.options.selectedIndex].value); ; 
         l1.options[l1.options.selectedIndex]=null; 
     
      } 
    } 
    </script>   
    <body> 
     
     
    <form > 
     
    <select name="lstLanguages" size="6" multiple="multiple" id="lstLanguages"> 
    <option value="français">français</option> 
    <option value="anglais">anglais</option> 
    <option value="allemand">allemand</option> 
    </select> 
    <select name="lstKnownLanguage" size="6" multiple="multiple" id="lstKnownLanguage"></select> 
     
    <select name="drpPreferedLanguage" id="drpPreferedLanguage">
    </select> 
     
    <input id="btnDel" type="button" value="<" onClick="Deplacer(document.getElementById('lstKnownLanguage'),document.getElementById('lstLanguages'))"> 
     
    <input id="btnAdd" type="button" value=">" onClick="Deplacer(document.getElementById('lstLanguages'),document.getElementById('lstKnownLanguage'))">
     
    </form> 
    </html>
    Est ce que tes listes sont dans un/des formulaires?

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    oui, dans un formulaire ASP.NET...

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    Je viens de faire le test en ne gardant que mon code, en html pur, tout marche bien...

    Serait-il possible que le code asp.net joue les perturbateurs quelque part ?? mais dans ce cas là, pourquoi seulement sur un contrôle ???

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    Bon,

    J'ai complètement recréé mon formulaire, et maintenant ça marche...

    Je ne comprends pas où était le problème...

    Merci d'avoir pris un peu de temps pour m'aider

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

Discussions similaires

  1. liste déroulante à partir d'une autre liste
    Par maffi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 29/10/2011, 14h12
  2. créer une liste a partir d'une autre feuille ?
    Par deuval dans le forum Excel
    Réponses: 2
    Dernier message: 23/07/2009, 11h12
  3. Réponses: 6
    Dernier message: 11/02/2009, 17h17
  4. [MySQL] Remplir une liste déroulante à partir d'une autre liste dynamique
    Par Sekigawa dans le forum PHP & Base de données
    Réponses: 25
    Dernier message: 31/12/2008, 08h54
  5. remplissage d'une liste déroulante à partir d'une autre liste
    Par monphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/05/2007, 12h28

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