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 :

Récupération des valeurs select multiple sans sélection


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut Récupération des valeurs select multiple sans sélection
    Bonjour,
    j'avais posté sur une autre forum un sujet sur le rechargement d'un page en gardant les valeurs de plusieurs select...
    Puis je voulais récupérer les valeurs d'un select(genre multiple) mais on m' a dit que :
    Par contre si j'ai bien compris, tu fais passer les valeurs du select A vers un autre select pour les considérer comme selectionnées. Si c'est bien le cas, ce n'est pas un comportement logique pour le navigateur qui ne peut pas savoir que le 2nd select correspond aux éléments désirés. Pour lui, seul ce qui est "sélectionné" est envoyé avec le formulaire. Il te faut donc sélectionner toutes ces valeurs avant l'envoi du formulaire pour que celles-ci puissent être soumises et récupérées. Tu peux faire ça avec un simple boucle javascript qui selectionnera une par une toutes les options :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (var i=0; i<document.ton_formulaire.ta_liste.options.length; i++) {
      document.ton_formulaire.ta_liste.options[i].selected = true;
    }
    // ensuite faire le submit
    le problème je ne sais pas où mettre ce bout de code et comment mettre les valeurs dans une variable php sans passer par un champ caché
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  2. #2
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    personne ?
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  3. #3
    Membre actif
    Inscrit en
    Mai 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 201
    Points : 202
    Points
    202
    Par défaut
    euh je ne comprends pas trop ton problème mais a première vu je mettrai ça juste avant le submit du formulaire.
    En tout tu crées un bouton 'valider' qui dirige (une fois appuyé) vers la fonction ou il y a ta boucle ensuite tu fais le reel 'submit' avec la foncrtion submit() de javascript
    Sinon on ne le dira jamais assez utilisez

  4. #4
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    j'ai un submit où je fait un onclick sur la fonction mais je n'ai rien....
    en fait je voudrais récupérer les valeurs d'un select multiple j'ai vu qu' en php ce n'était pas possible, donc du javascript
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  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 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 662
    Points
    66 662
    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
     
    <script type="text/javascript" id="script2" src=""> </script>
    <script type="text/javascript">
    function checkall(){
    var sel= document.getElementById('monselect')
     
    for(i=0;i<sel.options.length;i++){
     sel.options[i].selected=true;
     }
    }
     
    function foo(){
    var tabSel=new Array();
    var sel= document.getElementById('monselect')
     
    for(i=0;i<sel.options.length;i++){
     (sel.options[i].selected=true)?tabSel.push(sel.options[i].value):void(0);
     }
     alert(tabSel)
    }
     
    </script>
     
    </head>
     
    <body >
    <form action="javascript:foo()" onsubmit='checkall()'>
    <select id="monselect" multiple >
    <option value='1'>one</option>
    <option value='2'>one</option>
    <option value='3'>one</option>
    <option value='4'>one</option>
    <option value='5'>one</option>
    <option value='6'>one</option>
    <option value='7'>one</option>
    <option value='8'>one</option>
    </select>
    <input type='submit' value='go' />
    </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 !

  6. #6
    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 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    heu en principe un select multiple quand tu envoies le formuliare tu récupères simplement les données coté php non ?
    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 !

  7. #7
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    Merci beaucoup, bin oui tout simplement en donnant comme name='maselect[]'
    mais il ne prend que les valeurs selectionnées
    -----

    sur IE7 cela fonctionne très bien mais sur Firefox non et il donne une erreur sur for(i=0;i<sel.options.length;i++) : sel has no properties
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  8. #8
    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 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    oui ben si tu avais lu mon code dans le onsubmit tu aurais remarqué la partie qui selectionne tout ...
    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 !

  9. #9
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    ah oui c'est vrai que c'est malin ça, donc je n'ai pas besoin de la fonction foo, ma liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     <select multiple name='dep_select[]'...>
     ....
    je fais donc en php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(isset($_POST['dep_select'])){
    print_r($_POST['dep_select']);
    }
    et j'appelle la function checkall() sur le form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="form" method="post" action=""  id="chgcom" onsubmit="checkall()" >
    puis j'ai un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <input type="submit" name="suivant" value="Suivant">
    mais le print_r ne donne rien
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  10. #10
    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 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    là ça remlève plus de php ... et ce n'est pas mon fort (la morille ^^)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r($_POST['dep_select[]']);
    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 !

  11. #11
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    Citation Envoyé par SpaceFrog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r($_POST['dep_select[]']);
    ça se voit ....loool si tu as un select multiple name=spacefrog[]
    pour récupérer les choix il suffit juste de faire $_POST['spacefrog'] ensuite un print_r
    ...le [] c'est pour dire que ce sera un tableau donc dans le $_POST ce n'est pas la peine de le préciser !
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  12. #12
    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 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    et sinon pas d'action dans le form c'est normal ?
    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 !

  13. #13
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    pff nan mais franchement quand j'ai du javascript et du php et que si je veux faire action sur la page elle meme mon javascript part en coui****, j'ai du mal à bien comprendre.
    si je fais les verifications des champs dans action je fais $_SERVER['PHP_SELF']
    , mais le onsubmit doit être sur le form ???
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  14. #14
    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 662
    Points
    66 662
    Billets dans le blog
    1
    Par défaut
    onsubmit est un évènement du form ...

    je nai pas saisi ton souci ...
    si tu selectionne tout sur le onsubmit et que coté php tu ne recupères pas les valeurs ???

    essaye d'abord de faire action sur une page separée pour tester ...
    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 !

  15. #15
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    erreur de ma part;
    je ne vois toujours pas....
    dès que je trouve je vous ferai signe
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  16. #16
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    c'est bizarre j'ai fais une page teste et cela fonctionne :
    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
     
    <?php
     
            if(isset($_POST['go']))
             {
                                    
                    if(isset($_POST['monselect'])){
                            $dep = $_POST['monselect'];
                            print_r($dep);
                    }else{
                    echo "aaa" ;
                    }
     
    }
    ?>
     
    <script type="text/javascript">
    function checkall(){
    var sel= document.getElementById('monselect')
     
    for(i=0;i<sel.options.length;i++){
     sel.options[i].selected=true;
     }
    }
     
    </script>
     
    </head>
     
    <body >
    <form action="formverif.php" onSubmit="checkall();" method="post">
    <select id="monselect" multiple name="monselect[]" >
    <option value='1'>one</option>
    <option value='2'>one</option>
    <option value='3'>one</option>
    <option value='4'>one</option>
    <option value='5'>one</option>
    <option value='6'>one</option>
    <option value='7'>one</option>
    <option value='8'>one</option>
    </select>
    <input type="submit" value="go" name="go" />
    </form>
    </body>
    & j'ai appliqué la même "chose" sur mon formulaire et rien, la page se recharge, 'vide' le select, et ne va même pas dans la condition du if , j'ai fait un echo dans le if rien
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  17. #17
    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 662
    Points
    66 662
    Billets dans le blog
    1
    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 !

  18. #18
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    le problème vient du form, je ne vois pas la sélection lors de l'envoi du formulaire en fait il ne fait même pas le onsubmit ou le checkall()
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

  19. #19
    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 662
    Points
    66 662
    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
    <script type="text/javascript">
    function checkall(){
    var sel= document.getElementById('monselect')
     
    for(i=0;i<sel.options.length;i++){
     sel.options[i].selected=true;
     }
    return true;
    }
    </script>
    et



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="formverif.php" onSubmit="return checkall();" method="post">
    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 !

  20. #20
    Membre régulier Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Points : 122
    Points
    122
    Par défaut
    non toujours pas ....
    sais tu pourquoi sur Firefox , il me met une erreur sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    - sel has no properties
    checkall()formulaire.php (ligne 94)
    onclick(click clientX=0, clientY=0)formulaire.php (ligne 1)
    [Break on this error] for(i=1;i<sel.options.length;i++){

    et même si je faisait un bouton et un onclick checkall , rien
    mais pourtant dans le test que j'ai fait cela fonctionnait correctement
    Le no life répond "Counter Strike : Source"
    Le geek répond "Cascading Style Sheets"
    Ce n'est pas un hasard si deux choses vitales ont le même sigle

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Servlet select multiple récupération des valeurs
    Par fredmac2g dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/01/2013, 10h52
  2. PHP - Récupération des valeurs choix multiple
    Par adoziad dans le forum Langage
    Réponses: 5
    Dernier message: 26/01/2011, 14h35
  3. Récupération des valeurs select après innerHTML
    Par muppetshow dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 14/01/2011, 16h22
  4. [1.x] Récupération des valeurs sectionnées d'un select multiple
    Par jemele dans le forum Symfony
    Réponses: 6
    Dernier message: 20/06/2008, 12h21
  5. [SQL] Problème de récupération des valeurs d'une liste multiple en php
    Par BOLARD dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/05/2006, 00h29

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