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 :

Modif select avec onchange et lecture


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par défaut Modif select avec onchange et lecture
    Bonjour,

    Je patauge depuis un certain temps avec ce problème: j'essaie de modifier un code trouvé dans un bouquin

    1) un formulaire

    2) un select dans lequel je mets quelques options imbriquées c'est à dire si la balise parente est sélectionnée, l'option imbriquée l'est également. l'inverse n'est pas vrai.

    3) problème : je voudrais récuperer les options sélectionnées et les lire dans une fonction resultats()

    LA SELECTION IMBRIQUEE SE FAIT NORMALEMENT MAIS JE NE PARVIENS PAS A RECUPERER LES OPTIONS CHOISIES DANS resultats() lorsque j'appuie sur envoyer

    Je m'interroge égélement sur l'utilité de return false dans la fonction checkSelect()


    voici le code :
    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
    62
    63
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>sélection</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">
    //<![CDATA[
     
     
    window.onload = setupEvents;
    function setupEvents(evnt) {
       document.someForm.selectOpts.onchange = checkSelect;
     
    }
     
     
    function checkSelect() {
     
       opts = document.someForm.selectOpts.options;
       for (var i = 0; i < opts.length; i++) {
          if (opts[i].selected) {
              switch(opts[i].value) {
                case "Opt1" : opts[i + 1].selected = true;
                              break;
                case "Opt3" : opts[i + 1].selected = true;
                              break;
                case "Opt4" : opts[i + 1].selected = true;
                              break;
              }
          }
       }
     
       // pas de traitement côté serveur
       return false;
    }
     
    function resultats() 
    {
     
    }
     
       //]]>
    </script>
    </head>
    <body>
    <form name="someForm"  onSubmit="resultats()" >
    <select name="selectOpts"   multiple onchange = "checkSelect()"   >
    <option value="Opt1">Option Un</option>
    <option value="Opt1a"> -- Option Un A</option>
    <option value="Opt2">Option Deux</option>
    <option value="Opt3">Option Trois</option>
    <option value="Opt3a"> -- Option Trois A</option>
    <option value="Opt4">Option Quatre</option>
    <option value="Opt4a"> -- Option Quatre A</option>
    <option value="Opt5">Option Cinq</option>
    </select>
     
    <input type="submit" value="Envoyer"  />
    </form>
    </body>
    </html>

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return resultats()"
    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 éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par défaut
    Je tiens compte de la remarque mais je voudrais en savoir plus sur la fonction resultats()
    Voici ce que j'ai essayé mais sans succès, je ne parviens pas à récupérer les valeurs sélectionnées par la fonction checkSelect()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function resultats() {
    resul = document.someForm.selectOpts.options;
       for (var i = 0; i < resul.length; i++) {
          if (resul[i].selected)
    	   {
            		alert("choix : " + resul[i].selected.value + " " + resul[i].selected.text);
           }
    	   else 
    	   {
    	   alert("rien");
    	   }
                                           }   
    }

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    alert("choix : " + resul[i].value + " " + resul[i].text);

  5. #5
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert("choix : " + resul[i].selected.value + " " + document.someForm.selectOpts[document.someForm.selectOpts.selectedIndex].innerHTML);
    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 !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par défaut
    Mattieu 2000 a raison: il y a une erreur dans mon code : selected est en trop. Cependant , cela ne résout pas le problème

    Space froq aussi a raison: cela me donne une sélection mais pas la sélection imbriquée....je peux ajouter 1 pour l'obtenir --> OK

    Mais , il reste à résoudre le cas où la sélection est mutiple ...une idée ?

    Merci pour les conseils précédents

  7. #7
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    pour la selection multiple il faut boucler sur les option et tester si il sont selected ...
    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 !

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par défaut
    Oui mais justement, pour boucler sur les options et vérifier si elles sont selected,

    il faut pouvoir les récupérer et lorsque je quitte onchange pour tester les choix avec submit et la fonction resultats(), je récupère toutes les options mais les choix ont disparus.

    C'est comme si le fait de quitter onchange et de revenir dans le formulaire faisait perdre les choix

    Tu m'a donné une piste avec innerhtml pour un choix imbriqué unique mais si je veux faire des choix imbriqué multiple et les lire ensuite dans une fonction qui dépend de submit .....là, je CALE !!!

  9. #9
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    je récupère toutes les options mais les choix ont disparus.
    il y a un rechargement de page ???
    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 !

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par défaut
    Non, pas de rechargement de page

    Recadrons les choses :

    1) une liste d'options avec des options imbriquées dans un formulaire

    2) une sélection multiple avec un événement onchange qui fait appel à une fonction
    Cette fonction permet de choisir plusieurs sélections imbriquées

    3 ) toujours dans le formulaire, un événement onsubmit qui fait appel à une fonction où je désire lire les chois effectués

    4) la difficulté est de récup ces choix dans la fonction

    Maintenant, est-ce possible ?

  11. #11
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    le plus simple serait encore que tu nous montre le code html/js généré ...
    ici c'est un forum js ...
    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 !

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par défaut
    Voici donc le code complet

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>sélection</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Code js : 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
    <script type="text/javascript">
    //<![CDATA[
     
     
    window.onload = setupEvents;
    function setupEvents(evnt) {
       document.someForm.selectOpts.onchange = checkSelect;
     
    }
     
     
    function checkSelect() {
     
       opts = document.someForm.selectOpts.options;
       for (var i = 0; i < opts.length; i++) {
          if (opts[i].selected) {
              switch(opts[i].value) {
                case "Opt1" : opts[i + 1].selected = true;
                              break;
                case "Opt3" : opts[i + 1].selected = true;
                              break;
                case "Opt4" : opts[i + 1].selected = true;
                              break;
              }
          }
       }
     
       // pas de traitement côté serveur
       return false;
    }
     
     
    function resultats() {
    resul = document.someForm.selectOpts.options;
       for (var i = 0; i < resul.length; i++) {
          if (resul[i].selected)
    	   {
            		alert("choix : " + resul[i].value + " " + resul[i].text);
           }
    	   else 
    	   {
    	   alert("rien");
    	   }
                                           }   
    }     
       //]]>
    </script>
    Code html : 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
    </head>
    <body>
    <form name="someForm"  onSubmit="resultats()" >
    <select name="selectOpts"   multiple onchange = "checkSelect()"   >
    <option value="Opt1">Option Un</option>
    <option value="Opt1a"> -- Option Un A</option>
    <option value="Opt2">Option Deux</option>
    <option value="Opt3">Option Trois</option>
    <option value="Opt3a"> -- Option Trois A</option>
    <option value="Opt4">Option Quatre</option>
    <option value="Opt4a"> -- Option Quatre A</option>
    <option value="Opt5">Option Cinq</option>
    </select>
     
    <input type="submit" value="Envoyer"  />
    </form>
    </body>
    </html>

  13. #13
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Nouvelle page 1</title>
     
    <script type="text/javascript">
    //<![CDATA[
     
     
    window.onload = setupEvents;
    function setupEvents(evnt) {
       document.someForm.selectOpts.onchange = checkSelect;
     
    }
     
     
    function checkSelect() {
     
       opts = document.someForm.selectOpts.options;
       for (var i = 0; i < opts.length; i++) {
          if (opts[i].selected) {
              switch(opts[i].value) {
                case "Opt1" : opts[i + 1].selected = true;
                              break;
                case "Opt3" : opts[i + 1].selected = true;
                              break;
                case "Opt4" : opts[i + 1].selected = true;
                              break;
              }
          }
       }
     
       // pas de traitement côté serveur
       return false;
    }
     
     
    function resultats() {
    resul = document.someForm.selectOpts.options;
       for (var i = 0; i < resul.length; i++) {
          if (resul[i].selected)
    	   {
            		alert("choix : " + resul[i].value + " " + resul[i].innerHTML);
           }
    	   else 
    	   {
    	   alert("rien");
    	   }
                                           }   
    return false;
    }     
       //]]>
    </script>
    </head>
     
    <body >
    <form name="someForm"  onSubmit="return resultats()" >
    <select name="selectOpts"   multiple onchange = "checkSelect()"   >
    <option value="Opt1">Option Un</option>
    <option value="Opt1a"> -- Option Un A</option>
    <option value="Opt2">Option Deux</option>
    <option value="Opt3">Option Trois</option>
    <option value="Opt3a"> -- Option Trois A</option>
    <option value="Opt4">Option Quatre</option>
    <option value="Opt4a"> -- Option Quatre A</option>
    <option value="Opt5">Option Cinq</option>
    </select>
     
    <input type="submit" value="Envoyer"  />
    </form>
    </body>
     
    </html>
    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 !

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par défaut
    Malheureusement : ne fonctioone pas

    Si je choisis la première option,c'est OK, il affiche l'option + l'option imbriquée

    Par contre, pour le reste des options choisies, il affiche rien qui est mon drapeau test

    Il ne retient pas la sélection effectuée dans la fonction appélée par onchange que cette sélection soit simple ou multiple.

  15. #15
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    je n'ai rien compris parce que chez moi le code tel que donné ci dessus me fait bien les alerts de ce qui est selectionné ...

    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
     
    <script type="text/javascript">
    //<![CDATA[
     
     
    window.onload = setupEvents;
    function setupEvents(evnt) {
       document.someForm.selectOpts.onchange = checkSelect;
     
    }
     
     
    function checkSelect() {
     
       opts = document.someForm.selectOpts.options;
       for (var i = 0; i < opts.length; i++) {
          if (opts[i].selected) {
              switch(opts[i].value) {
                case "Opt1" : opts[i + 1].selected = true;
                              break;
                case "Opt3" : opts[i + 1].selected = true;
                              break;
                case "Opt4" : opts[i + 1].selected = true;
                              break;
              }
          }
       }
     
       // pas de traitement côté serveur
       return false;
    }
     
     
    function resultats() {
    var msg=""
    resul = document.someForm.selectOpts.options;
       for (var i = 0; i < resul.length; i++) {
          if (resul[i].selected)
    	   {
            		msg+="choix : " + resul[i].value + " " + resul[i].innerHTML + "<br/>";
           }
    	   else 
    	   {
    	          msg+="rien</br>";
    	   }
    	   document.getElementById('res').innerHTML=msg
                                           }   
    return false;
    }     
       //]]>
    </script>
    </head>
     
    <body >
    <form name="someForm"  onSubmit="return resultats()" >
    <select name="selectOpts"   multiple onchange = "checkSelect()"   >
    <option value="Opt1">Option Un</option>
    <option value="Opt1a"> -- Option Un A</option>
    <option value="Opt2">Option Deux</option>
    <option value="Opt3">Option Trois</option>
    <option value="Opt3a"> -- Option Trois A</option>
    <option value="Opt4">Option Quatre</option>
    <option value="Opt4a"> -- Option Quatre A</option>
    <option value="Opt5">Option Cinq</option>
    </select>
     
    <input type="submit" value="Envoyer"  />
    </form>
    <div id='res'></div>
    </body>
     
    </html>
    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 !

  16. #16
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Nouvelle page 1</title>
     
    <script type="text/javascript">
    //<![CDATA[
     
     
    window.onload = setupEvents;
    function setupEvents(evnt) {
       document.someForm.selectOpts.onchange = checkSelect;
     
    }
     
     
    function checkSelect() {   
       opts = document.someForm.selectOpts.options;
       for (i = 0; i < opts.length; i++) {
          if (opts[i].selected) {
              switch(opts[i].value) {
                case "Opt1" : opts[i + 1].selected = true;
                              break;
                case "Opt3" : opts[i + 1].selected = true;
                              break;
                case "Opt4" : opts[i + 1].selected = true;
                              break;
              }
          }
       }
     
       // pas de traitement côté serveur
       return false;
    }
     
     
    function resultats() {
    resul = document.someForm.selectOpts.options;
    var text="";
       for (i = 0; i < resul.length; i++) {
          if (resul[i].selected)
    	   {
            		text+="choix : " + resul[i].value + " " + resul[i].innerHTML+"\n";
           }	  
        }   
    	if(text==""){
    		alert("rien");
    		return false;
    	}else{
    	return confirm(text);
    	}
    }     
       //]]>
    </script>
    </head>
     
    <body >
    <form name="someForm"  onSubmit="return resultats()" >
    <select name="selectOpts"   multiple onchange = "checkSelect()"   >
    <option value="Opt1">Option Un</option>
    <option value="Opt1a"> -- Option Un A</option>
    <option value="Opt2">Option Deux</option>
    <option value="Opt3">Option Trois</option>
    <option value="Opt3a"> -- Option Trois A</option>
    <option value="Opt4">Option Quatre</option>
    <option value="Opt4a"> -- Option Quatre A</option>
    <option value="Opt5">Option Cinq</option>
    </select>
     
    <input type="submit" value="Envoyer"  />
    </form>
    </body>
     
    </html>

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par défaut
    Merci SpaceFrog, merci Mathieu 2000

    C'est juste çà fonctionne

    mais le plus grave ....c'est que le mien aussi fonctionne

    En fait , j'avais une parenthèse en trop dans mon code personnel à la fin de la fonction d'affichage resultats

    Désolé de vous avoir fait perdre du temps pour si peu mais évidemment ...je l'ignorais

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

Discussions similaires

  1. [AJAX] Modification inline avec Select
    Par VooDooNet dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 09/02/2009, 14h40
  2. [AJAX] test dans un select avec onchange
    Par stomerfull dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/01/2009, 16h08
  3. onchange sur select avec internet explorer
    Par trysdual dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/09/2008, 16h41
  4. Liste <select> avec onchange qui ne change pas
    Par whitespirit dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/05/2008, 10h45
  5. problème avec select sur onchange
    Par Kerod dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/12/2005, 14h05

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