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

AJAX Discussion :

[AJAX] 3 listes deroulantes


Sujet :

AJAX

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut [AJAX] 3 listes deroulantes
    Bonjour,

    J'ai bien lu cet exemple et j'aimerais bien ajouter une 3eme liste, quelles sont les informations et/ou bien les codes a modifier.

    Ma question est pour savoir les elements qui affectent la liste afin de le coder moi meme.

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Dans le onchange de la 2ème liste tu appelles une fonction AJAX qui va mettre à jour un autre div qui contient la 3ème liste.
    Sinon une discussion résolue http://www.developpez.net/forums/d77...x/#post4489970

    A+.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,

    Dans le onchange de la 2ème liste tu appelles une fonction AJAX qui va mettre à jour un autre div qui contient la 3ème liste.
    Sinon une discussion résolue http://www.developpez.net/forums/d77...x/#post4489970

    A+.
    Voyons ce code:

    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
     
    js:
    function getInfo()
    {
    	xmlHttp.open('get','test.php?id='+ document.Quoran.Type.selectedIndex);
    	xmlHttp.onreadystatechange = handleInfo;
    	xmlHttp.send(null);
    }
     
    php:
    echo '<form name="Quoran1">';
    	echo '<select name="Type1" onChange="getInfo1()">';
    	echo '<option value="0" disabled="disabled" selected="selected">-- Select Model</option>';
    // code ici
    echo '<option value='.$sheikh_ar.'>'.$showme.'</option>';
    Comment faire pour recuperer la valeur sheikh_ar, parce que je recupere l'id de cette valeur
    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Relit le tutoriel que tu as cité dans ton premier poste et regarde la fonction go(), tu trouveras comment l'envoyer du coté javascript sur le code du fichier ajaxphp tu trouveras comment le récupérer du coté serveur.

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Relit le tutoriel que tu as cité dans ton premier poste et regarde la fonction go(), tu trouveras comment l'envoyer du coté javascript sur le code du fichier ajaxphp tu trouveras comment le récupérer du coté serveur.
    Est ce qu'on peut passer plusieurs mots par une variable, par exemple:

    <option value="lolo lola">lolo lola</option>

    J'ai edite mon code et me passe seulement "lolo"

    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
     
    function showUser(str)
    {
    if (str=="")
      {
      document.getElementById("sheikh_ar").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("nom").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","testbis.php?nom="+str,true);
    xmlhttp.send();
    }
    Merci

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    str=encodeURI(str);
    xmlhttp.open("GET","testbis.php?nom="+str,true);
    A+

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    str=encodeURI(str);
    xmlhttp.open("GET","testbis.php?nom="+str,true);
    A+
    Toujours le meme resultat:

    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
     
    function showUser(str)
    {
    if (str=="")
      {
      document.getElementById("sheikh_ar").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("nom").innerHTML=xmlhttp.responseText;
        }
      }
     
    str=encodeURI(str);
    xmlhttp.open("GET","testbis.php?nom="+str,true);
    xmlhttp.send();
    }

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Je pense qu'il y aurait une autre methode pour passer des variables des noms composes

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Tu peux nous montrer comment tu appelles la fonction et ton code HTML généré?

    A+.

  10. #10
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Tu peux nous montrer comment tu appelles la fonction et ton code HTML généré?

    A+.
    Voila tous les codes:

    code js:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    function showUser(str)
    {
    if (str=="")
      {
      document.getElementById("txtHint").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","Sawtiyat/Quoran/test.php?id="+str,true);
    xmlhttp.send();
    }
     
    function showUser2(str)
    {
    if (str=="")
      {
      document.getElementById("txtHint2").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint2").innerHTML=xmlhttp.responseText;
        }
      }
      str=encodeURI(str);
    xmlhttp.open("GET","Sawtiyat/Quoran/testbis.php?sheikh_ar="+str,true);
    xmlhttp.send();
    }
    index.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <form>
                            <select name="users" onchange="showUser(this.value)">
                                    <option value="0" disabled="disabled" selected="selected">- Select Make</option>
                                    <option value="1">مقرئ</option>
                                    <option value="2">رواية</option>
                                    <option value="3">البلد</option>
                            </select>
                    </form>
     
                    <div id="txtHint"><b>Person info will be listed here.</b></div>
                    <div id="txtHint2"><b>Person info will be listed here.</b></div>
    test.php:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <font color="purple">this file is test</font>
    <br />
    <?php
    print_r($_GET);
     
    $id = $_GET['id'];
    echo 'id'.$id.'<br>';
     
     
     
    if ($id == '1')
    {
            $theorder = 'sheikh_ar';
           
    }
    if ($id == '2')
    {
            $theorder = 'riwaya';
            }
    if ($id == '3')
    {
            $theorder = 'nationality';
           
    }
     
    include '../../Included_Files/Connect.php';
     
    // selection DB sawtiyat
    mysql_select_db($db_sawtiyat) or die ('Erreur de selection de la BD sawtiyat: '.mysql_error());
    // selectionner tous les shiekhs
     
    $select_qr = 'SELECT DISTINCT '.$theorder.' FROM sheikh_tbl WHERE quoran=1';
    echo '<font color="red">'.$select_qr.'</font><br>';
     
    $query_qr = mysql_query($select_qr) OR DIE (mysql_error());
    $nb = mysql_num_rows($query_qr);
    echo 'total: <font color="green">'.$nb.'</font><br>';
     
            echo '          <select name="users2" onchange="showUser2(this.value)">
                                    <option value="0" disabled="disabled" selected="selected">- Select Make</option>';
                                   
    while ($row_qr = mysql_fetch_array($query_qr))
    {
            // on extract les donnees
            extract($row_qr);
           
            echo 'id'.$id.'<br>';
           
            if ($id == '1')
    {
            $showme = $sheikh_ar;
    }
    if ($id == '2')
    {
            $showme = $riwaya;
    }
    if ($id == '3')
    {
            $showme = $nationality;
    }
     
    echo '<option value='.$sheikh_ar.'>'.$showme.'</option>';
    }
    echo '</select>';
    echo '</form>';
    ?>
    testbis.php:
    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
    32
    33
     
    <font color="gray">this file is testbis</font>
    <br />
    <?php
    print_r($_GET); // ce print_r affiche juste le premier mot de l'ensemble des mots
     
    $sheikh_ar = $_GET['sheikh_ar'];
    echo 'testbis sheikh'.$sheikh_ar.'<br>';
     
    include '../../Included_Files/Connect.php';
     
    // selection DB sawtiyat
    mysql_select_db($db_sawtiyat) or die ('Erreur de selection de la BD sawtiyat: '.mysql_error());
     
    $select_qr2 = 'SELECT * FROM sheikh_tbl WHERE quoran=1 AND sheikh_ar = "'.$sheikh_ar.'"';
    echo '<font color="red">'.$select_qr2.'</font><br>';
     
    $query_qr2 = mysql_query($select_qr2) OR DIE (mysql_error());
    $nb2 = mysql_num_rows($query_qr2);
    echo 'total: <font color="green">'.$nb2.'</font><br>';
     
    while ($row_qr2 = mysql_fetch_array($query_qr2))
    {
            // on extract les donnees
            extract($row_qr2);
     
     
    echo $sheikh_en.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$sheikh_ar;
    echo $riwaya.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
    echo $nationality.'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
    echo '<br>';
    }
    ?>
    Merci Andry

  11. #11
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut


    Dans le fichier testbis.php
    echo '<option value='.$sheikh_ar.'>'.$showme.'</option>';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="'.$sheikh_ar.'">'.$showme.'</option>';
    A+.

  12. #12
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Citation Envoyé par andry.aime Voir le message


    Dans le fichier testbis.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="'.$sheikh_ar.'">'.$showme.'</option>';
    A+.


    Vous m'avez choque andry.aime, j'ai pas fais attention a ce code HTML

    mais au fait au fichier test.php

    Merci a vous

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

Discussions similaires

  1. [AJAX] 4 listes deroulantes liees
    Par Jeol2007 dans le forum AJAX
    Réponses: 7
    Dernier message: 13/11/2009, 18h49
  2. [AJAX] actualisation liste deroulante si retour page précedente
    Par pascale86 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 01/02/2008, 09h49
  3. [AJAX] Rafraichir la 2eme liste deroulante
    Par kagura dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/09/2007, 00h13
  4. [AJAX] Formulaire liste deroulante ajax
    Par trilla dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/08/2007, 19h47
  5. [Rico] Afficher depuis d'une liste deroulante (PHP+AJAX)
    Par maxis dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 27/02/2006, 12h47

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