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

Vue hybride

michelp3 Modif select avec onchange et... 26/04/2010, 17h13
SpaceFrog onsubmit="return... 26/04/2010, 17h22
michelp3 Je tiens compte de la... 27/04/2010, 08h13
Matthieu2000 alert("choix : " +... 27/04/2010, 14h05
SpaceFrog alert("choix : " +... 27/04/2010, 14h27
Message précédent Message précédent   Message suivant Message suivant
  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 658
    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 658
    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 658
    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 658
    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

+ 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