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 :

Fonctions liste déroulante liée


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 183
    Points : 66
    Points
    66
    Par défaut Fonctions liste déroulante liée
    Bonjour,

    J'ai utilisé la fonction des listes liées en ajax donnée sur ce site. Mais le problème c'est que je n'arrive pas à récupérer la valeur selectionner dans la première liste déroulante.

    Voici le script javascript:


    <script>

    var xhr = null;

    function getXhr(){
    if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest();
    else if(window.ActiveXObject){ // Internet Explorer
    try {
    xhr = new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e) {
    xhr = new ActiveXObject('Microsoft.XMLHTTP');
    }
    } else { // XMLHttpRequest non supporté par le navigateur
    alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');
    xhr = false;
    }
    }

    /** Méthode qui sera appelée sur le click du bouton */
    function go(){
    getXhr();
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function(){
    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    if(xhr.readyState == 4 && xhr.status == 200){
    leselect = xhr.responseText;
    // On se sert de innerHTML pour rajouter les options a la liste
    document.getElementById('valeur_saisie2').innerHTML = leselect;
    }
    }

    // Ici on va voir comment faire du post
    xhr.open('POST','rechercher.php',true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur
    sel = document.getElementById('valeur_saisie');
    tech = sel.options[sel.selectedIndex].value;
    xhr.send('Tech='+tech);
    }

    </script>
    Voici mon formulaire:

    echo "<form method='post' action='rechercher.php' name='form_rech'>\n";
    .....

    echo "<br><select name='valeur_saisie' id='liste_rech' onChange=\"go();\">";
    $a_sql="SELECT * From technique WHERE archive='0' ORDER BY technique ASC";
    $a_result=mysql_query($a_sql)or die ('ERREUR '.a_sql.' '.mysql_error());
    while ($a_line=mysql_fetch_array($a_result)){
    echo "<option>".$a_line['technique']."</option>";
    }
    echo "</select>";
    echo "<li></li>\n";
    echo "<br><select name='valeur_saisie2' id='liste_rech' >";
    echo " <option value='%' selected>Sous-cat. technique</option>";
    $a_sql="SELECT * From sous_categorie_technique where d_technique=".$tech." ORDER BY sous_categorie_technique ASC";
    $a_result=mysql_query($a_sql)or die ('ERREUR '.a_sql.' '.mysql_error());
    while ($a_line=mysql_fetch_array($a_result)){
    echo "<option>".$a_line['sous_categorie_technique']."</option>";
    }
    echo "</select>";
    Si quelqu'un peut m'aider?

  2. #2
    Membre averti Avatar de Tdeny
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 287
    Points : 311
    Points
    311
    Par défaut
    Bonjour, que ce soit pour n'importe quel formulaire et select, on a les forms, les elements et les index numérotés, toujours à partir de 0.
    Donc pour récupérer la valeur de l'index sélectionné, avec x, le numéro du form et y, le numéro de l'élément : le select :
    document.forms[x].elements[y].options[document.forms[x].elements[y].selectedIndex].value;
    Vendez votre habileté et achetez l’ahurissement.
    L’habileté est seulement l’opinion, l’ahurissement l’intuition.
    Djalal–eddine Roumi

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 183
    Points : 66
    Points
    66
    Par défaut
    Merci pour ta réponse Tdeny mais lorsque j'isole sur une deuxième page ma deuxième liste déroulante ça marche mais moi j'aimerais tout mettre sur la meme page et lorsque que je mets tout les élèments sur la meme page, je ne récupère plus mes résultats.

Discussions similaires

  1. Debug script listes déroulantes liées
    Par AnTiX dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/04/2005, 12h03
  2. Griser 1 liste déroulante liée à une autre, pb de concaténat
    Par linou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/03/2005, 16h45
  3. listes déroulantes liées
    Par k4eve dans le forum Struts 1
    Réponses: 3
    Dernier message: 26/04/2004, 15h11
  4. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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