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 :

menus déroulants liés


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut menus déroulants liés
    Bonjour à tous,
    voilà j'aimerais lier 2 menus déroulant : j'ai récupéré un code, mais cela ne fonctionne pas. quand je choisis un pays je veux que les villes correspondantes au pays selectionné s'affiche dans le second menu déroulant. mais après un long deboguage et des cheveux arrachés, il n'y a qu'une seule instruction qui coince :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formulaire.choixVille.options.length = lesVilles.length;
    lesVilles.length est bien trouvé, mais c'est formulaire.choixVille.options.length qui casse tout, et franchement je comprend pas pourquoi...

    Voici le code complet :
    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
     
    <script language="JavaScript">
    function verif()
      {
      if (document.layers)
        {
        formulaire = document.forms.monFormulaire;
        }
      else
        {
        formulaire = document.monFormulaire;
        }
      }
     
    function verifChoixPays()
      {
      verif();
      if (formulaire.choixPays.value == "0")
        {
        alert('Vous devez tout d\'abord choisir un pays!');
        formulaire.choixPays.focus();
        }
      }
     
    var villes = new Array();
    villes[0] = new Array();
    villes[1] = new Array("Paris", "Lyon", "Marseille")
    villes[2] = new Array("Londres", "Manchester", "Liverpool")
    villes[3] = new Array("Berlin", "Stutgart", "Munich")
     
    function remplirVilles(num)
      {
      verif();
      var lesVilles = villes[num];
     
      if (num>0)
        {
        formulaire.choixVille.options.length = lesVilles.length;
        for (i=0; i<lesVilles.length; i++)
          {
          formulaire.choixVille.options[i].value = lesVilles[i];
          formulaire.choixVille.options[i].text = lesVilles[i];
          }
        document.monFormulaire.choixVille.options.selectedIndex = 0;
        }
      else
        {
        formulaire.choixVille.options.length = 1;
        formulaire.choixVille.options[0].value = 0;
        formulaire.choixVille.options[0].text = "-- choisissez une ville";
        }
      }
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <form name="monFormulaire">
    <select name="choixPays" onChange="remplirVilles(this.options[this.selectedIndex].value);">
    <option value="0" selected>-- choisissez un pays</option>
    <option value="1">France</option>
    <option value="2">Royaume-Uni</option>
    <option value="3">Allemagne</option>
    </select>
    <br>
    <br>
    <select name="choixVille" onFocus="verifChoixPays();">
    <option value="0" selected>-- choisissez une ville</option>
    </select>
    </form>
    merci d'avance de votre aide
    bonne journée!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    as tu regardé le post-it au dessus ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    le post-it?....

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Avril 2006
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    Comprend pas ton problème, j'ai fait un copier/coller de ton code et il marche très bien. Je l'ai testé sur IE7 et Firefox... Comment se manifeste l'erreur ? En faisant quelle(s) manipulation(s) ?
    Guy777

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    ça fait rien c'est bien ça le problème lol pas de message d'erreur, juste que lorsque je choisis un pays je n'ai pas les villes correspondantes qui apparaissent... si le code marche ailleurs (et evidemment pas chez moi!) je pense que je vais prendre le problème autrement du coup, merci quand meme :-)

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    re bonjour :-)
    du coup j'ai un autre problème qui se pose... j'ai mes 2 menus deroulants qui sont sensés être liés... un menu service et un menu personne. quand je selectionne un service, je veux que dans la liste des personnes il y ait la liste des personnes appartenant au service selectionné (donc que ça aille péché dans la bdd), et inversement, quand je selectionne une personne je veux la liste des services auxquelles elle appartient, en allant interroger la bdd. mais pour interroger la bdd, je dois recharger la page non? donc du coup, mon javascript tombe à l'eau???

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Avril 2006
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    Dans un souci d'efficacité et de simplicité, il vaut mieux (je crois) éviter les appels répétés à la BD. Le mieux c'est de récupérer tout ce dont tu as besoin pour ton script, de construire la page ensuite (HTML + JavaScript)...

    Pour répondre à ta dernière question, si tu interroge la base par l'intermédiaire de JavaScript, tu n'est pas obligé de réactualiser la page.
    Guy777

Discussions similaires

  1. [AJAX] Menus déroulants liés
    Par arttom dans le forum AJAX
    Réponses: 1
    Dernier message: 03/12/2012, 13h36
  2. [1.x] deux menus déroulants liés
    Par bs.wassel dans le forum Symfony
    Réponses: 3
    Dernier message: 13/04/2012, 15h53
  3. 4 Menus déroulants liés - Petit bug
    Par grandpa006 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/02/2008, 19h43
  4. Deux menus déroulants liés entre eux
    Par coco38 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/04/2007, 15h31
  5. 2 menus déroulants liés
    Par hugo69 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/12/2006, 15h35

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