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 :

[formulaire] Récuperer la valeur d'un select dans une variable


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [formulaire] Récuperer la valeur d'un select dans une variable
    Salut tout le monde,

    Je cherche un moyen de récuperer la valeur d'une select d'un formulaire dans une variable. La page ou se trouve le menu déroulant du formulaire est modifiable mais pas la page ou on arrive une fois validé le formulaire (page paypal).

    Voici le code, en rouge la ou je voudrais que s'affiche la valeur du select:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form action="http...." method="post" name="liste">
    
    <select name="size" id="select" style="width:50px;">
      <option value="38">38</option>
      <option value="39">39</option>
      <option value="40">40</option>
    </select>
    
    <input type="hidden" name="item_number" value="<? echo $size;?>">
    ..
    </form>
    Merdi d'avance !

  2. #2
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    salut tu dois ajouter dans ton select ceci et ajouter du code javascript avant
    Tu peux alors stocker ta valeur dans une variable de session par exemple...

    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
     
    <?php
    session_start();
     
    echo "<script language=\"JavaScript\">
    function checkSelectValue()
    {
     $_SESSION['select'] = document.size.selectedIndex;
    }
    </script>
    ";
     
    ...
     
    echo "
    <select name=\"size\" id=\"select\" style=\"width:50px;\" onChange=\"checkSelectValue()\">
      <option value=\"38\">38</option>
      <option value=\"39\">39</option>
      <option value=\"40\">40</option>
    </select>
    ";
     
     
    echo "<input type=\"hidden\" name=\"item_number\" value=$_SESSION['select'] >";
    Voilà, j'espère t'avoir aidé...

    ++
    JC
    VELOMASTER, idée cadeau ? un jeu de plateau

    Hummmmm, des donuts !!!!

    Merci de penser à , et et aussi

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Je suis pas trop d'accord car la il souhaite le faire sans recharger la page, c'est bien ca ??

    La bonne question est que cherches tu à faire ?
    SI tu veux récuperer ton champs après soumission, utilses à la place de $size, $_POST['size'].

    Si tu veux toujours ton champs hidden tu devrais utiliser le javascript pour que dès que tu changes la valeur de ton select il mette à jour le hidden.

    Peux tu préciser clairement ce que tu cherches à faire, stp ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4
    Points : 4
    Points
    4
    Par défaut je ferais pas tout ça moi.
    salut,
    pourqoui faire compliquer qd on p faire simple.
    Le type il veut juste afficher la valeur du champ select,
    propose lui quelque chose en Js, et cette valeur une fois dispo dans son champ hidden, il p le recuperer en PHP en asp etc...
    voilà ce qu'il doit faire le jeune:
    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
     
    <head>
    <script language="javaScript">
    function SelectValueChamp(){
    valeur=document.forms['liste'].elements['size'].options.selectedIndex;
    v_valeur=document.forms['liste'].elements['size'].options[valeur].value;
    document.forms['liste'].elements['item_number'].value=v_valeur;
    }
    </script>
    </head>
     
    <body>
    <form action="http...." method="post" name="liste">
     
    <select name="size" id="select" style="width:50px" Onchange="javascript:SelectValueChamp();">
      <option value="38">38</option>
      <option value="39">39</option>
      <option value="40">40</option>
    </select>
     
     <input type="text" name="item_number" value="">
     // je met le champ en text pour tester apres tu le passeras e hidden
    </form>
    </body>
    Citation Envoyé par jc_cornic
    salut tu dois ajouter dans ton select ceci et ajouter du code javascript avant
    Tu peux alors stocker ta valeur dans une variable de session par exemple...

    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
     
    <?php
    session_start();
     
    echo "<script language=\"JavaScript\">
    function checkSelectValue()
    {
     $_SESSION['select'] = document.size.selectedIndex;
    }
    </script>
    ";
     
    ...
     
    echo "
    <select name=\"size\" id=\"select\" style=\"width:50px;\" onChange=\"checkSelectValue()\">
      <option value=\"38\">38</option>
      <option value=\"39\">39</option>
      <option value=\"40\">40</option>
    </select>
    ";
     
     
    echo "<input type=\"hidden\" name=\"item_number\" value=$_SESSION['select'] >";
    Voilà, j'espère t'avoir aidé...

    ++
    JC
    Pour comprendre il faut être Patient

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Kerod
    Je suis pas trop d'accord car la il souhaite le faire sans recharger la page, c'est bien ca ??

    La bonne question est que cherches tu à faire ?
    SI tu veux récuperer ton champs après soumission, utilses à la place de $size, $_POST['size'].

    Si tu veux toujours ton champs hidden tu devrais utiliser le javascript pour que dès que tu changes la valeur de ton select il mette à jour le hidden.

    Peux tu préciser clairement ce que tu cherches à faire, stp ?
    Salut, deja merci beaucoup pour vos réponses

    Donc oui je souhaite avoir la valeur sans recharger la page. Je peut pas modifier le hidden car c'est le code paypal qui renvoie ses propres variables.
    C'est pour ca que dans le champ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="item_number" value="<? echo $size;?>">
    je voudrais que la variable $size est la valeur du formulaire, pour pouvoir envoyer l'information que je veux a la page paypal sur laquelle on arrive en validant ceci. J'ai essayé les codes au dessus mais ca ne fonctionne pas, le champ crée avec la méthode de turboklm ne renvoie pas de valeur.

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Dans ce cas ton problème est plus Javascript que PHP, eh oui désolé

    Donc voici une solution :
    1. Tu modifies ton input de cette manière :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <input type="text" name="item_number" id="item" value="">
    2. Puis dans le select :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
       <select name="size" id="select" style="width:50px" Onchange="document.getElementById('item').value = this.value;">
    Ce code doit fonctionner.Petite précision, je n'ai pas fait de fonction javascript mais tu peux tout de même la faire si tu en as envie

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Parfait ca marche nickel !!!

    Merci beaucoup c'est super cool

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    Bonjour

    je me permet de relancer ce post car j'ai deux questions :

    - comment faire si je veux afficher, non pas la valeur mais le nom affiché dans le select?
    - et dans le cas où l'on veut faire plusieurs choix, peut on tous les afficher dans plusieurs "input" ?

    Merci

  9. #9
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Tu remplaces
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =this.options[selectedIndex].innerHTML;

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Points : 177
    Points
    177
    Par défaut
    premiere question résolue :

    document.getElementById('item').value //le input
    = document.getElementById('nomduselect').options[document.getElementById('nomduselect').selectedIndex].text;

    par contre je ne vois pas comment faire pour ajouter des input...

    merci de votre aide

  11. #11
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Citation Envoyé par nicerico
    premiere question résolue :

    document.getElementById('item').value //le input
    = document.getElementById('nomduselect').options[document.getElementById('nomduselect').selectedIndex].text;

    par contre je ne vois pas comment faire pour ajouter des input...

    merci de votre aide
    Ouvre un nouveau sujet pour avoir plus de réponses, merci.

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

Discussions similaires

  1. DB2 - valeur d'un select dans une variable
    Par lucimed dans le forum DB2
    Réponses: 5
    Dernier message: 19/10/2011, 20h42
  2. Réponses: 6
    Dernier message: 23/03/2009, 15h40
  3. stokage de la valeur d'un select dans une variable .
    Par Halloula dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/01/2008, 11h46
  4. Réponses: 1
    Dernier message: 19/03/2006, 20h52
  5. [MySQL] Pb d'insertion d'une valeur de champ select dans une Bdd
    Par Mimisator dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 20/10/2005, 18h51

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