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 :

listes déroulantes dynamiques liées


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Points : 102
    Points
    102
    Par défaut listes déroulantes dynamiques liées
    bonjour, voici mon dilemme.
    je ne connais pas du tout mais alors rien du tout au java script.
    je voudrais savoir si, a l'aide du php, on peut faire qu'un select,
    une fois l'option changé, rafraichisse la page en ajoutant un autre
    select(qui sera contenu qlq part évidement) ?
    je ne sais pas si c'est possible alors je demande.
    merci pour vos lumière.

    ps: si c'est compliqué c'est pas grave du moment que c'est faisable.

  2. #2
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Salut,

    En fait comment veux tu que ca fonctionne?

    Si tu choisis un élément de ta liste déroulante, la page se recharge automatiquement? (donc évènement onchange il me semble et codage en javascript) .
    Sinon tu mets un bouton submit et qd tu pourras récupérer des valeurs avec la méthode Post et du coup tout se ferait en php (si t'as une variable à une certaine valeur, tu affiches le bouton sinon tu affiches pas la bouton)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    fichtre! le peu que j'ai vu sur le javascript m'a laissé perplexe,
    mais au vu de ce que tu me confirmes, je crains de devoir m'y mettre.
    en effet je veux que lorsqu'on change l'option du select, la page
    se rafraichisse automatiquement et qu'un autre select aparaisse.
    t'as une idée de ce que ça donne en javascript?
    c'est pour une délimitation donc on 2 fois le même select,un min et un max,
    une fois le premier select changé, le second sera créée en
    prenant comme 1ere option celle choisit au 1er select,
    pour que le choix max soit forcément égal ou supérieur.
    la liste des options va de 1 à 100.

  4. #4
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Question ... Comment sont alimentées tes listes? A partir d'une base de donnée ou "en dur"?

    Si elles sont alimentées en dur faudrait que tu jettes un coup d'oeil côté ajax pour ne pas devoir recharger toute la page.

    Si tu tiens absolument à du javascript,

    Je ne m'y connais plus assez en javascript pour te sortir un code comme ca...

    Mais en gros, tu mets un évènement "onchange" sur ta liste déroulante.

    Cet évènement te servira juste à recharger la page avec la valeur de ta liste déroulante que tu vas devoir faire passer dans l'url.

    Ensuite tu affiches ta 2e liste avec en fonction du paramètre que tu auras ds l'url

    Enfin je suis débutant aussi donc je pense pas pouvoir t'aider plus que ca :/

  5. #5
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Je n'y comprends surement pas plus en javascript, mais j'utilise cette fonction depuis longtemps et elle marche nikel :

    Dans head :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script language="JavaScript" type="text/javascript"><!--//
    function gotonewpage(what)
    {
      value = what.options[what.selectedIndex].value;
      if (value == "") return;
      window.location.href = value;
    }
    //--></script>
    Et le select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	    <select onchange="gotonewpage(this)" name="imagelist">
    	      <option value="photos.php" selected>Galerie 1</option>
    	      <option value="photos2.php">Galerie 2</option>
    	      <option value="photos3.php">Galerie 3</option>
    	    </select>

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    je cherche pas forcément à recharger la page entière mais
    juste à ce que mon second select s'affiche après changement
    dans le premier.
    je vais essayer d'adapter ta fonction et je vous informe du résultat.
    merci.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    ça m'as permit de comencer à apprendre le javascript mais
    c'est malheureusement pas la fonction qu'il me faut.
    je veux pas changer de page, juste afficher un nouveau select
    sur la même.

  8. #8
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    En effet je n'avais pas pensé à ce détail, et il me semble qu'il ne soit même pas utile de réfléchir à modifier le script que je t'ai proposé.

    Ce que tu demande ne fonctionne pas en php, le code s'exécute coté serveur, sans rafraichir la page on ne peut pas ajouter des choses à la page.

    Tu devrais plutôt poser ta queston sur le forum javascript ?

    j'ai aussi lu (mais je n'y connais pas plus ) que pour rafraichir une seule partie de la page on peut utiliser ajax...

    Désolé de pas pouvoir t'aider plus...

  9. #9
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    dans ta fonction javascript faut que tu concatenes pour écrire ds l'url les parametre que tu veux afin de les récuperer en php avec la méthode $_GET

    Exemple, si t'as page s'appelle mypage.php au départ.
    Si en choisissant un item dans ta liste qui possède la valeur 1, tu reviendras dans ta page avec l'url suivante : mypage.php?valeur=1

    Ensuite te suffira de tester ds ton script coté server if($_GET['valeur'] == 1)...

  10. #10
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    A vue de nez et d'apres mes souvenirs, je ferais qq chose dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     <select onchange="gotonewpage("page_en_cours.php?value="+this.value)" name="imagelist">
    	      <option value="1" selected>Galerie 1</option>
    	      <option value="2">Galerie 2</option>
    	      <option value="3">Galerie 3</option>
    	    </select>

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    merci ça marche bien, faut que je bidouille mon php pour que
    ce soit optimal mais ça fonctionne bien.vraiment merci.
    j'ai commencé à lire des tutos pour débutant sur js et ajax,
    ça n'a pas l'air aussi simple que php, html et mysql, mais bon
    vu que c'est powerful en dynamisme, je vais continuer.
    merci encore pour vos coup de main.

  12. #12
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    Tu as fait comment alors? comme on a indiqué avec le "onchange" ?

    bah JS c'est pas très compliqué c'est juste que je trouve ca vraiment très bordélique comme langage...

    ajax je connais pas du tout par contre

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Points : 102
    Points
    102
    Par défaut
    en fait j'ai placé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "gotonewpage(\'page_en_cours.php?value=\'+this.value)"
    dans le onchange. avec des doublequote au milieu ça plantait.
    et j'ai mis une boucle for dans mon php conditionné par l'existence
    de value et qui débute à value, pour créer mon second select;
    plus une autre qui selected la value dans le 1er select,conditionné
    elle aussi par l'existence de value.
    voila le code à includer dans un la page.
    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
     
    $select1 = '<select onchange="gotonewpage(\'recherche.php?rec=simple&value=\'+this.value)" name="taillemin"><option value="18"> </option>';
    $i = 18;
    while($i < 101){
    $select1 = $select1.'<option value="'.$i.'"';
    if(isset($value)){
    if($value == $i){
    $select1 = $select1.' selected="selected"';
    }
    }
    $select1 = $select1.'>'.$i.'</option>';
    $i++;
    }
    $select1 = $select1.'</select>';
    echo $select1;
    if (isset($value)){
    $select2 = 'et :  <select name="taillemax">';
      while ($value < 101){
           $select2 = $select2.'<option value="'.$value.'">'.$value.'</option>';
    	   $value++;
    	   }
      $select2 = $select2.'</select>';
    }
    echo $select2.'</td>

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/03/2011, 16h43
  2. Listes déroulantes dynamiques liées envoyant sur une url prédéfinie
    Par Plastifieurs dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 23/07/2010, 22h19
  3. [MySQL] Listes déroulantes dynamiques liées
    Par kopax dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 10/04/2010, 11h49
  4. Réponses: 2
    Dernier message: 12/02/2010, 10h57
  5. [MySQL] Listes déroulantes dynamiques liées
    Par diatomee dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2009, 22h07

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