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 :

rafraichir 3 listes déroulantes suivant valeur radio button


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par défaut rafraichir 3 listes déroulantes suivant valeur radio button
    Bonjour,
    j'ai 3 listes déroulantes liées entre elles, et je voudrais que suivant la valeur d'un radio button qu'on coche avant, les listes utilisent des tables différentes.
    je peux changer la requete à faire à chaque endroit ou on va chercher les données pour les listes, suivant la valeur de radio button.
    mais je n'arrive pas à trouver la bonne action "onchange" sur le radio button pour relancer l'affichage des listes...
    merci de m'aider si vous comprenez mon probleme

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    fasi le sur le onclick mais assorti d'un setTimeout (le temps de pouvoir récupérer le bon etat checked du radio)
    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 confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par défaut
    merci pour le conseil
    mais je met quoi exactement sur le onclic? c'est ca que je n'arrive pas a trouver..

  4. #4
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Je n'ai pas bien compris le problème. Tu colles un onClick qui appelle la fonction de modification des listes en lui passant comme paramètre la valeur du bouton coché par exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="but" value="but1" onClick="modifier(this.value);" />
    Nas'

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    justement pas Nasky ...
    tu risques une fois sur deux de ne pas avoir la bonne valeur ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="radio" name="but" value="but1" onClick="var statuCheck=this.checked;setTimeout(function(){modifier(statuCheck)},100);" />
    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 confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par défaut
    lol je me retrouve dans une discussion de pros mais moi je galere toujours avec mon onclick

    si vous pouvez juste m'orienter sur la facon dont je dois relier l'évenement radio button à la requete à faire sur la bdd pour la 1ere liste déroulante ca serait sympa.
    voilà le début du code de la fonction qui va chercher les données de la 1ere liste déroulante.

    Comme vous pouvez le voir j'ai essayé de le modifier en fonction de la valeur de statucheck mais sans succès..

    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
    <?PHP
    include 'Connexionbd.php';
     
    if (statuCheck="Jeu1") {
    $rq="Select id_jeu,nom_jeu from liste_jeux1 order by id_jeu;";}
     
    elseif (statuCheck="Jeu2") {
    $rq="Select id_jeu,nom_jeu from liste_jeux2 order by id_jeu;";}
     
     
    $rq_pos_id=0; //position dans le SQL de la clé de la liste déroulante idem dans ValideLd2.php et ValideLd3.php
    $rq_pos_val=1; //position dans le SQL de la valeur de la liste déroulante idem dans ValideLd2.php et ValideLd3.php 
     
    $resultat= mysql_query ($rq) or die ("Select impossible");
     
    $retour = '<select name="Liste1" id="Liste1" size="1" onchange="ValideLd2(this[this.selectedIndex].value);">';
    ...
    cette fonction est utilisée au chargement de ma page comme ceci
    <?
    include 'includes/ValideLd1.php'; ?>&nbsp; <!--Pour remplir la liste déroulante 1-->

    je voudrais la "recharger" quand on clique sur le radio button, afin qu'elle aille chercher les données au bon endroit.
    Merci pour votre aide, je sais que votre rôle n'est pas de coder pour les autres mais sincerement là je suis bloqué

  7. #7
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    SpaceFrog, je viens d'essayer avec ma méthode et après plusieurs tests, aucun problème. Mais je veux bien te croire qu'il y a un "risque" possible, quoique je ne vois pas pourquoi puisqu'avec ma méthode, le onClick est appelé quand on clique sur un des boutons et ensuite on appelle la fonction avec comme argument la valeur de l'objet appelant.

    Arnogef, pour en revenir au problème, utilises donc la méthode de SpaceFrog mais en fait ce qu'il te faut, c'est de l'Ajax
    Tu vas appeler la page PHP qui va te retourner le contenu de tes listes.
    Un exemple complet ici : http://siddh.developpez.com/articles/ajax/ (lit en entier si tu ne connais rien à l'Ajax mais le paragraphe qui concerne exactement ton problème est le IV). L'exemple traité dans ce tutorial concerne deux listes liées mais il suffit de remplacer la première liste par tes boutons radios.

    Nas'

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Nasky en relisant ton intervention, je dois approter cette précision...

    en fait tout dépend de si tu veux declencher la focntion si le radio est checked ou pas ...

    maintenant dasn ton cas la fonction se declenche sasn teir compte du checked ...

    tu me diras dans le cas d'un radio ... en general quand on clicke dessus
    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 confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par défaut
    en effet nasky, c'est du ajax que j'utilise déjà pour mes listes déroulantes.
    bon, je vais essayer de réécrire les fonctions sur le meme principe, en faisant comme si j'avais une liste déroulante qui déclenche le remplissage de la suivante sauf que là c'est un radio button la 1ere liste...
    merci

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par défaut
    salut
    j'ai réussi à faire ce que je voulais mais j'ai une petite question subsidiaire.
    je voudrais apres avoir coché le radio button, que le focus revienne sur la liste1.
    j'ai donc mis comme code sur le radio button
    onClick="setTimeout(function(){ValideLd1(1)},100);document.liste1.focus();"

    le probleme est que le focus ne marche pas.
    d'ou ma question peut-on mettre plusieurs actions sur un meme évenement?
    si oui comment faire? merci

  11. #11
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    onClick=function(){setTimeout(function(){ValideLd1(1)},100);
                             document.getElementById('Liste1').focus();"}
    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 !

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par défaut
    oui désolé j'ai mal recopié mon code, j'ai bien mis Liste1 et non pas liste1 malheureusement..
    si je met le document.getElementById('Liste1').focus(); seul, le focus fonctionne, mais en mettant l'autre fonction avant, le focus ne fonctionne plus..

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Par défaut
    help??

Discussions similaires

  1. [XL-2007] Liste déroulante suivant valeur d'une cellule
    Par malababar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/03/2010, 22h24
  2. Réponses: 5
    Dernier message: 27/03/2008, 11h45
  3. [MySQL] Rappel de valeurs de liste déroulante et boutons radio
    Par Equinoxe5 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/10/2007, 18h35
  4. rafraichir une liste déroulante
    Par zola dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 27/04/2006, 16h34
  5. Liste déroulante sans valeur par défaut ?
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/02/2005, 16h59

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