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 :

[Liste dynamiquement liée] - Récupérer les valeurs sélectionnées.


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 161
    Points : 224
    Points
    224
    Par défaut [Liste dynamiquement liée] - Récupérer les valeurs sélectionnées.
    Bonjour,

    Je suis développeur SAS (Logiciel BI / stat) et dans le cadre de l'exécution sur un serveur Web d'un programme SAS, j'ai besoin de votre aide pour un bout de code Javascript / Html.

    J'ai généré 3 listes dynamiquement liées : list1 (région du pays), list2 (département) et list3 (magasin du département). Quand je change la sélection d'une liste, le choix pour la (les) liste(s) suivantes évoluent.
    Jusqu'ici pas de pb.

    J'ai ensuite un bouton qui exécute un programme SAS à 4 paramètre (Année, Valeur sélectionné List1, Valeur sélectionné List2, Valeur sélectionné List3).
    Or qu'elle que soit la valeur sélectionnée, list1, list2 et list3 me renvoient 0 (aucune valeur)

    Avez vous une idée de ce qui ne va pas dans mon code ?

    Merci de votre aide.

    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
    <SCRIPT type="text/javascript">
         menu.Aff();   <s> /*Affichage de mes liste dynamiques dans une form mf*/</s>
    </SCRIPT>
     
    <FORM id='choix' method='GET' ACTION='/SASStoredProcess/do'> 
    <INPUT TYPE='hidden' NAME='_program' VALUE='/Italia/storedprocess/04_VENDITE_SuiviCartes_01'> <s>/*Appel de mon prgm SAS*/</s>
     
    <SCRIPT type="text/javascript">
     
       function testButton(no) {
            var valeur=document.forms["mf"].elements["list"+no].selectedIndex;
            return valeur;
       }
     
        var ligne="<INPUT TYPE='hidden' NAME='list1' VALUE="+testButton(1)+">";
        ligne+="<INPUT TYPE='hidden' NAME='list2' VALUE="+testButton(2)+">";
        ligne+="<INPUT TYPE='hidden' NAME='list3' VALUE="+testButton(3)+">";
        document.write(ligne);
     
    </SCRIPT>
     
    <INPUT type='submit' value='Générer Page'>

  2. #2
    Membre confirmé Avatar de freddou17
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 341
    Points : 566
    Points
    566
    Par défaut
    Slt,
    Es tu sur que le code menu.aff() est chargé au moment de ton script?
    Que fais menu.aff()?
    Fais un console.log de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms["mf"].elements["list"+no].selectedIndex
    ++

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    document.write à bannir

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 161
    Points : 224
    Points
    224
    Par défaut
    ReBonjour,

    Merci de vos retours.

    Effectivement la console me renvoyait toujours 0 au lieu du numéro du select selectionné.


    Comme j'avais une fonction clic(no) qui permettait de déterminer les éléments des listes suivantes, j'y ai rajouté le code suivant et çà marche!!!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms["choix"].elements["id"+no].setAttribute('value', valeur);
    J'ai changé les input list1, ... 3 en id1, ...id3 pour éviter les confusions avec les 3 listes de la form mf



    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
    <SCRIPT type="text/javascript">
         menu.Aff();   <s> /*Affichage de mes liste dynamiques dans une form mf*/</s>
    </SCRIPT>
     
    <FORM id='choix' method='GET' ACTION='/SASStoredProcess/do'> 
    <INPUT TYPE='hidden' NAME='_program' VALUE='/Italia/storedprocess/04_VENDITE_SuiviCartes_01'> <s>/*Appel de mon prgm SAS*/</s>
     
    <SCRIPT type="text/javascript">
     
         var ligne="<INPUT TYPE='hidden' NAME='id1' VALUE="">";
        ligne+="<INPUT TYPE='hidden' NAME='id2' VALUE="">";
        ligne+="<INPUT TYPE='hidden' NAME='id3' VALUE="">";
        document.write(ligne);
     
    </SCRIPT>
     
    <INPUT type='submit' value='Générer Page'>
    Merci encore

    PS je mets quoi à la place de document.write ????

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    On va dire que dans l'exemple que tu montres, tu n'as aucune raison d'utiliser JavaScript pour inclure ces champs.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <FORM id='choix' method='GET' ACTION='/SASStoredProcess/do'> 
    <INPUT TYPE='hidden' NAME='_program' VALUE='/Italia/storedprocess/04_VENDITE_SuiviCartes_01'> <s>/*Appel de mon prgm SAS*/</s>
     
    <INPUT TYPE='hidden' NAME='id1' VALUE="">
    <INPUT TYPE='hidden' NAME='id2' VALUE="">
    <INPUT TYPE='hidden' NAME='id3' VALUE="">
     
    <INPUT type='submit' value='Générer Page'>
    Me semble une meilleure façon de procéder.

    Et au passage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms["choix"].elements["id"+no].setAttribute('value', valeur);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms["choix"].elements["id"+no].value = valeur;
    est largement plus adapté.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 161
    Points : 224
    Points
    224
    Par défaut
    Merci Bovino,

    Effectivement il ya moyen de simplifier maintenant.
    je clos le sujet

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

Discussions similaires

  1. Récupérer les valeurs d'un liste déroulante liée
    Par may.sou dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/05/2013, 10h09
  2. Récupérer les valeurs d'une liste déroulante liée
    Par may.sou dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 28/04/2013, 00h35
  3. [AC-2000] Liste choix multiples : Récupérer les valeurs sélectionnées
    Par moustika dans le forum Access
    Réponses: 3
    Dernier message: 05/01/2011, 12h58
  4. Réponses: 1
    Dernier message: 21/11/2008, 11h38
  5. Réponses: 5
    Dernier message: 21/11/2008, 09h47

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