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 :

interaction entre liste déroulante


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut interaction entre liste déroulante
    Bonjour,

    j'ai deux listes déroulantes, une remplie par du code et l'autre par une requete SQL.
    La valeur de la première est utilisé dans la requete SQL permettant de fournir la deuxième et j'ai deux possibilités de requte
    Pour récupérer cette valeur je passe par du javascript et je renvoi la valeur dans un input text, qui récupère bien la valeur, mais quand je fais $_POST['mon_input_text'] je ne récupère rien.
    Je suis débutante en javascript et j'avoue que la je sèche sur comment faire.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    {echo '<span class="gras"><span class="couleurUnivers">Fonction(s) de la salle';
    	if(empty($_POST['type_ressource']))
    	  {
    	   echo '<select name="type_ressource" id="id_choix_ressource" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="valueSelect()">
    	<option value="1">Réunion</option>
    	<option value="2">Formation</option>
    	</select>';
    	}
     
    	if($_POST['type_ressource']==1)
    	{
    	echo '<select name="type_ressource" id="id_choix_ressource" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="valueSelect()">
    	<option value="1" selected>Réunion</option>
    	<option value="2">Formation</option>
    	</select>';
    $req = "select id_ressource,id_responsable,commentaire,nom, id_type, nbr_place from tr_ressource where id_type=".$tab_type_voulu[$i]." and (id_site=".$id_site_selectionne." or id_site='-1') AND ".$CONDITION_ENTITE." and dispo=1 and fct_reunion=1";
    connect_BD();
    mysql_query($req);
    }
    Else
    if($_POST['type_ressource']==2)
    {
    echo '<select name="type_ressource" id="id_choix_ressource" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="valueSelect()">
    	<option value="1">Réunion</option>
    	<option value="2" selected>Formation</option>
    	</select>';
    $req = "select id_ressource,id_responsable,commentaire,nom, id_type, nbr_place from tr_ressource where id_type=".$tab_type_voulu[$i]." and (id_site=".$id_site_selectionne." or id_site='-1') AND ".$CONDITION_ENTITE." and dispo=1 and fct_formation=1";
    connect_BD();
    mysql_query($req);
    }

  2. #2
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    Bonjour,

    peux tu nous donner tout le code (incluant Javascript) mais sans le PHP ?
    (juste la source de ta page en fait)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    voici ma fonction javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function valueSelect()
    {
    var selecteur=document.formResaAutreRessource.type_ressource;
    var indice=selecteur.selectedIndex;
    var valeur=selecteur.options[indice].value;
    document.formResaAutreRessource.valeur_type_ressource.value=valeur;
    }

  4. #4
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    ok.
    et le reste stp.

    Donne nous uniquement le code HTML+Javascript, tout le monde ne connait pas PHP dans ce forum

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    euh ça va etre compliqué. en faite je prends la suite d'un développeur et il a tout fait sur la même page...

  6. #6
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    oui mais si tu affiches la page dans un navigateur, et que tu fais click droit > afficher le code source, ca doit le faire.

    et sinon, à ta place, je commencerais à épurer le code PHP
    ca donnerait un truc un peu comme ca :
    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
    {
    echo '<span class="gras"><span class="couleurUnivers">Fonction(s) de la salle';
     
    echo '<select name="type_ressource" id="id_choix_ressource" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="valueSelect()">';
    echo '<option value="1"';
    if ($_POST['type_ressource'] == 1)
      echo ' selected="selected" ';
    echo '>Réunion</option>';
    echo '<option value="2"';
    if ($_POST['type_ressource'] == 2)
      echo ' selected="selected" ';
    echo '>Formation</option>';
    echo '</select>';
     
    if (!empty($_POST['type_ressource'])) {  
      if ($_POST['type_ressource'] == 1)
        $req = "select id_ressource,id_responsable,commentaire,nom, id_type, nbr_place from tr_ressource where id_type=".$tab_type_voulu[$i]." and (id_site=".$id_site_selectionne." or id_site='-1') AND ".$CONDITION_ENTITE." and dispo=1 and fct_reunion=1";
      else  
        if ($_POST['type_ressource'] == 2)
          $req = "select id_ressource,id_responsable,commentaire,nom, id_type, nbr_place from tr_ressource where id_type=".$tab_type_voulu[$i]." and (id_site=".$id_site_selectionne." or id_site='-1') AND ".$CONDITION_ENTITE." and dispo=1 and fct_formation=1";
      connect_BD();
      mysql_query($req);
    }
     
    }
    il faudrait au moins que tu nous montres ce qu'est 'valeur_type_ressource' (ca doit être un input j'imagine)

    quand je fais $_POST['mon_input_text'] je ne récupère rien
    à quel moment fais-tu cela ? tu as validé la premiere page avant ? on peut voir ce bout de code ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    bonjour,

    voici valeur_type_ressource
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<input type="text" name="valeur_type_ressource"/>';
    et en reprenant ton code je tente de récuperer ma valeur ici
    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
    echo '<select name="type_ressource" id="id_choix_ressource" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="valueSelect()">';
    echo '<option value="1"';
    if ($_POST['type_ressource'] == 1)
      {
       echo ' selected="selected" ';}
    				
    echo '>Réunion</option>';
    echo '<option value="2"';
    if ($_POST['type_ressource'] == 2)
       {echo ' selected="selected" ';}
    echo '>Formation</option>';
    echo '</select>';
    echo '<input type="text" name="valeur_type_ressource"/>';
    $valeur = $_POST['valeur_type_ressource'];
    if (!empty($_POST['valeur_type_ressource'])) {  
    if ($_POST['valeur_type_ressource'] == 1)
     {
      $req = "select id_ressource,id_responsable,commentaire,nom, id_type, nbr_place from tr_ressource where id_type=".$tab_type_voulu[$i]." and (id_site=".$id_site_selectionne." or id_site='-1') AND ".$CONDITION_ENTITE." and dispo=1 and fct_reunion=1";
      }
    else  
    if ($_POST['valeur_type_ressource'] == 2)
      {
       $req = "select id_ressource,id_responsable,commentaire,nom, id_type, nbr_place from tr_ressource where id_type=".$tab_type_voulu[$i]." and (id_site=".$id_site_selectionne." or id_site='-1') AND ".$CONDITION_ENTITE." and dispo=1 and fct_formation=1";
      }
    connect_BD();
    mysql_query($req);

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    petite précision ma variable $valeur ne sert à rien mais quand j'essaie de l'afficher il n'y a rien que mes lettres en commentaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_POST['valeur_type_ressource']."edf";

  9. #9
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    est-ce qu'à un moment tu valides ton formulaire ?

    tes explications ne sont pas claires.
    Merci de nous donner le code source entier (les 2 listes => 2 SELECT) sans quoi on va avoir du mal à comprendre.

    Ta requete SQL qui depend du premier SELECT, tu voudrais qu'elle soit exécutée dès qu'on sélectionne un nouvel element dans la premiere liste ??

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    Désolé,j'ai eu des soucis avec un serveur.J'ai pas pu suivre la discussion.
    Je vous mets le code source demain.je valide mon formulaire mais beaucoup plus tard.
    Cela étant de mettre ma première liste déroulante dans un autre formulaire peut peut-être être une solution.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    ah et oui je souhaiterais que mon deuxième SELECT s'exécute au moment ou on choisit dans la première liste déroulante.
    je suis désolée pour les explications pas claires, mais je suis dans l'entreprise depuis 15 jours et le code du prédecesseur et pas forcément très clair pour moi même donc difficile à vous expliquer.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    code source du javascrpit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //fonction permettant de récupérer la valeur du tyoe de ressource pour faire une sélection sur la liste des salles
    function valueSelect()
    {
    var selecteur=document.formResaAutreRessource.type_ressource;
    var indice=selecteur.selectedIndex;
    var valeur=selecteur.options[indice].value;
    document.formResaAutreRessource.valeur_type_ressource.value=valeur;
    }
    code source de mes liste
    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
     
    <form action="index.php?_id_page=outils/transat/reserver.php" method="post" id="rechercheFormAdv" name="formResaAutreRessource">
    <input type="hidden" name="CHOIX_RESSOURCE" value="1" />
    <input type="hidden" name="rech_site" value="31" />
    <input type="hidden" name="date" value="1254295016">
    <input type="hidden" name="autre_resa" value="1" />
     
    <input type="hidden" name="id_type_a_suppr" id="id_hidden_type_a_suppr" value="-1"/>
    <table width="99%"><tr>		
     
    <td align="center" valign="top" ><table cellspacing="10" ><span class="gras"><span class="couleurUnivers">Fonction(s) de la salle<select name="type_ressource" id="id_choix_ressource" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="valueSelect()"><option value="1">Réunion</option><option value="2">Formation</option></select><input type="text" name="valeur_type_ressource"/><tr><td align="center"><span class="gras"><span class="couleurUnivers">Salle</span></span></td><td align="center"><input type="image" name="id_type_a_suppr" src="forme/images/supprimer_blanc.png" onclick="document.getElementById('id_hidden_type_a_suppr').value='0';" alt="Supprimer ce type de ressource" value="0"/></td></tr><tr><td colspan="2" align="center"><select name="rech_ressource_0" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="submit();"><br />
    <b>Warning</b>:  mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>C:\wamp\www\contenu\outils\transat\reserver.php</b> on line <b>1024</b><br />
    </select></td></tr></table></td>edf<td align="center" valign="top" ><table cellspacing="10" ><tr><td align="center"><span class="gras"><span class="couleurUnivers">Ajouter une autre ressource</span></span></td></tr><tr><td align="center"><select size="1" name="id_ajout_type" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="submit();"><optgroup label="Choississez le type à ajouter"><option value="-1" /><option value="24">n° audio-conf</option><option value="25">PC portable</option><option value="1">salle</option><option value="23">video-projecteur</option></select></td></tr></table></td>	
    </tr>
    </table>
    </form>

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    est ce qu'il est possible de récupérer ma variable valeur qui est dans ma fonction javascript et de faire un if sur cette valeur?

    ex:
    if( <javascript ma variable valeur </javascript> ==1)

    je ne sais pas comment on fait ce genre de chose et si c'est possible donc désolé pour la mauvaise syntaxe.

    Merci

  14. #14
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    je pense qu'il faut que tu te penches sur les tutos XHTML, Javascript et PHP.

    deja, il faudrait revoir ton code HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      <table width="99%">
        <tr>		
    		  <td align="center" valign="top" >
            <table cellspacing="10" >
              <span class="gras">
                <span class="couleurUnivers">Fonction(s) de la salle
                  <select name="type_ressource" id="id_choix_ressource" class="inputRecherche12pxSelect largeurSelectRecherche" onChange="valueSelect()">
                    <option value="1">Réunion</option>
                    <option value="2">Formation</option>
                  </select><input type="text" name="valeur_type_ressource"/>
     
        <tr>
    il faut fermer une balise qu'on ouvre, éviter de mettre une table dans une autre ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <b>Warning</b>:  mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>C:\wamp\www\contenu\outils\transat\reserver.php</b> on line <b>1024</b><br />
    tu as une erreur PHP au milieu de ton select... ta requete ne fonctionne pas, mais c'est peut etre dû à une mauvaise connexion à ta BD.

    Ensuite, ca manque de clarté.
    Qu'est ce que tu veux faire ?
    tu as 2 Select dans la meme page.
    lorsque le premier est modifié, tu veux exécuter une requete SQL pour alimenter le second Select ??
    si oui :
    - ca peut marcher avec AJAX => exécution de PHP initiée par Javascript puis modif du code HTML
    - peut etre plus simple : tu récuperes toutes les possibilités en PHP au chargement de ta page, et javascript va chercher les éléments pour alimenter ton second Select des que le premier est modifié

    est ce qu'il est possible de récupérer ma variable valeur qui est dans ma fonction javascript et de faire un if sur cette valeur?

    ex:
    if( <javascript ma variable valeur </javascript> ==1)
    de faire un if avec quel langage ??

    si tu ne comprends pas ce que tu veux faire, difficile pour nous de t'aider

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    Pour ce qui est de la syntaxe du code que je vous fournis ça n'est pas moi qui l'ai écrit et je n'ai pas pour mission de le modifié sinon je ne finirais pas à temps
    "
    tu as 2 Select dans la meme page.
    lorsque le premier est modifié, tu veux exécuter une requete SQL pour alimenter le second Select ??
    si oui :
    - ca peut marcher avec AJAX => exécution de PHP initiée par Javascript puis modif du code HTML
    - peut etre plus simple : tu récuperes toutes les possibilités en PHP au chargement de ta page, et javascript va chercher les éléments pour alimenter ton second Select des que le premier est modifié"

    c'est exactement ça que je veux faire.

    pour ce qui est du if

    faire une concaténation de php et de javascript. le javascript me permettant de récuperer ma valeur de mon sélect et le php de faire la comparaison.

  16. #16
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    c'est exactement ça que je veux faire.
    je t'ai proposé 2 options, laquelle préfères-tu ?

    faire une concaténation de php et de javascript.
    ca veut pas dire grand chose

    le javascript me permettant de récuperer ma valeur de mon sélect et le php de faire la comparaison.
    donc AJAX ou PHP mais soumission du formulaire obligatoire.

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    Quand tu dis soumission de formulaire cela veut dire que je devrais forcément avoir un bouton?
    AJAX je ne connais que de nom et pour le php je ne vois pas comment faire sans bouton

  18. #18
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    Quand tu dis soumission de formulaire cela veut dire que je devrais forcément avoir un bouton?
    Oui.
    Si tu veux traiter ces données en PHP, il faut que le serveur les recoive.
    Pour cela 2 solutions :
    - en validant le formulaire avec un bouton Submit
    - AJAX

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    Cela va devenir trop compliqué et cela doit etre fini aujourd'hui.j'ai fait autrement.
    Mais en tout cas merci de ton aide.

Discussions similaires

  1. Réponses: 33
    Dernier message: 14/04/2010, 10h46
  2. [DOM] Double interaction entre listes déroulantes
    Par shazdo dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 27/03/2008, 08h20
  3. Réponses: 3
    Dernier message: 01/10/2007, 14h31
  4. Lien en entre listes déroulantes et affichage d'Etat
    Par Sofie109 dans le forum Access
    Réponses: 3
    Dernier message: 08/09/2006, 15h08
  5. Liaison entre liste déroulante et un champs
    Par lolo_bob2 dans le forum Access
    Réponses: 4
    Dernier message: 19/04/2006, 11h54

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