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] Affichage choix d'un <select>


Sujet :

AJAX

  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 46
    Par défaut [AJAX] Affichage choix d'un <select>
    Bonjour à tous, j'avais deja poster un sujet précedement mais j'ai préférer modifier mon code je n'y arrivai pas autrement et j'ai tener d'apprendre quelque base en ajax.

    Je souhaite afficher le choix d'un select dans une div mais je n'y arrive pas.

    Voici ma liste déroulante :

    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
     
    <select onchange="retourcommercial()" name='lcommercial' id='lcommercial' >
    <option selected="selected" value="Choisissez">Choisissez</option>
    <?php
     
     
    $requetecommercial= "select distinct ma_comvisu from ma_magasins";
    $rescommercial = mssql_query($requetecommercial);
     
     
     
    while($valcommercial=mssql_fetch_array($rescommercial)) {
            
            echo "<option value=".$valcommercial["ma_comvisu"]." >".$valcommercial["ma_comvisu"]."</option>";
    }
            
     
     
    echo"<option>Tous</option>";
    echo"</select>";
     
     
    echo '</TD>';
     ?>
    Je souhaite afficher le choix de ma liste déroulante ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <TBODY id="xmlhttp">
    <?php
     
    ?>
    </TBODY>
    Voici mon fichier ajax.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
     
     function retourcommercial()
     {
     
      get_Xhr();
      xhr.onreadystatechange = function()
       {
        if(xhr.readyState == 4 && xhr.status == 200)
         {
     
          document.getElementById('xmlhttp').innerHTML = xhr.responseText;
     
         }
       }
     
      xhr.open("POST",'valeurslistes/sauvcommercial.php',true);
      xhr.setRequestHeader('Content-Type','x-www-form-urlencoded');
     
      commercial = document.getElementById('lcommercial').options[document.getElementById('lcommercial').selectedIndex].value;
     
      xhr.send("typecommercial="+commercial);
     
     }
    Et enfin mon sauvcommercial.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    echo '<TR>';
    echo '<TD>';
    echo $_POST['typecommercial'];
    echo '</TD>';
    echo '</TR>';
    ?>
    Cela m'affiche une cellule vide dans mon TBODY, encore novice en Ajax je ne comprend pas pourquoi.

    Merci de votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    tout d'abord, tu ne peux pas afficher de valeur directement entre <tbody> et </tbody> : chaque valeur doit être dans une cellule (<td></td>) : c'est un problème HTML ...
    De même je ne suis pas sûr que l'ajout de lignes via innerHTML comme tu le fais fonctionne dans tous les cas.

    Aussi, ta fonction Ajax ne doit renvoyer que la valeur (sans les bouts de structure de <table>).

    En donnant, au TD qui doit recevoir la valeur renvoyée par Ajax, un id="xmlhttp", ton passage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('xmlhttp').innerHTML = xhr.responseText;
    devrait fonctionner

    A+

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 46
    Par défaut
    Je ne comprend pas puisque ma variable à afficher ici est bien entourée de <TD></TD>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    echo '<TR>';
    echo '<TD>';
    echo $_POST['typecommercial'];
    echo '</TD>';
    echo '</TR>';
    ?>

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Relis et essaye

    A+

  5. #5
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 46
    Par défaut
    J'ai beau chercher ne comprend pas ce que tu veux dire.

    je vais essayer et re-essayer ! J'y arriverais !

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <TBODY>
    <tr><td id="xmlhttp"></td></tr>
    </TBODY>
    avec sauvcommercial.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo $_POST['typecommercial'];
    ?>
    C'est plus clair ?

    A+

  7. #7
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 46
    Par défaut
    Totalement clair ! Alors même problème !

    J'ai fais quelques test en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo 'Test';
    ?>
    A la place de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo $_POST['typecommercial'];
    ?>
    Tester avec ma méthode et la tienne cela marche pour les deux.

    Je crois donc que c'est ma variable 'commercial' qui ne prend pas la valeur de ma liste déroulante ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      xhr.open("POST",'valeurslistes/sauvcommercial.php',true);
      xhr.setRequestHeader('Content-Type','x-www-form-urlencoded');
      commercial = document.getElementById('lcommercial').options[document.getElementById('lcommercial').selectedIndex].value
      xhr.send("typecommercial="+commercial);
    Mais je n'en suis pas sur.

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par maximation Voir le message
    Mais je n'en suis pas sur.
    Que donne un alert() ?

    A+

  9. #9
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 46
    Par défaut
    Alert() donne bien le choix de ma liste déroulante .
    C'est donc au niveau de l'affichage de ma variable que cela coince ?

    Ma ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.send("scommercial" +commercial);
    est correct ?

    j'ai toujorus pas trouver de solution.

Discussions similaires

  1. [AJAX] Affichage du résultat des select ajax
    Par baddevil dans le forum jQuery
    Réponses: 1
    Dernier message: 01/06/2014, 16h14
  2. [AJAX] Case à cocher-->mise à jour select
    Par senacle dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/06/2006, 16h11
  3. [AJAX] Affichage avec Firefox
    Par sarapis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/05/2006, 16h00
  4. [AJAX] Affichage ajax
    Par matique dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/03/2006, 19h28
  5. [MySQL] Affichage de valeurs par selection dans une table
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 16/12/2005, 17h04

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