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 :

[Syntaxe] chargement de liste liée


Sujet :

JavaScript

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut [Syntaxe] chargement de liste liée
    Bonjour,

    J'ai un problème avec mes listes liées. J'ai repris le tuto de siddh pour coder tout ça..

    Ma deuxième liste reste désespérément vide... Toute ma base est en UTF-8 mais j'ai peur que ça vienne quand même du charset même si j'ai testé les principaux sans résultat..

    Une idée ?

    Code JS de mon header :
    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
    <script type='text/javascript'>
    function getXhr(){
        var xhr = null;
        if(window.XMLHttpRequest) // Firefox et autres
            xhr = new XMLHttpRequest();
        else if(window.ActiveXObject){ // Internet Explorer
            try {
                //celui-ci marche..
                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 MLHTTPRequest...");
            xhr = false;
        }
        return xhr;
    }
    
    /**
    * Méthode qui sera appelée sur le click du bouton
    */
    function load_veh(){
        var xhr = 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('vehic2').innerHTML = leselect;
            }
        }
        // Ici on va voir comment faire du post
        xhr.open("POST","ajaxVeh.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 du véhicule
        sel = document.getElementById('vehic1');
        idVehic1 = sel.options[sel.selectedIndex].value;
        alert(idVehic1);
        // La MsgBox affiche une chaîne correcte..
        xhr.send("idVehic1="+idVehic1);
    }
    Code du select en question :
    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
    <td align="center" colspan="2" id="vehic" nowrap><b>Véhicule / Support : </b>
        <select name="veh" type="text" size="1" onchange="load_veh()" id="vehic1">
            <option value="-1" selected>-- Selectionnez --</option>
            <?php
                $query = 'SELECT DISTINCT `type_veh` FROM vehicules WHERE `process_restit`="0"';
                $result = mysql_query($query, $cfg['linkid']) or die($query . " - " . mysql_error());
                while($tab = mysql_fetch_array($result))
                {
                    echo '<option value="'.$tab['type_veh'].'">';
                    echo $tab['type_veh'];
                    echo '</option>';
                }
            ?>
        </select>
        <div id='vehic2' style='display:inline'>
            <select name='vehicul2'>
                <option value='-1'>D'abord à gauche !</option>
            </select>
        </div>
    </td>
    et mon ajax_Veh.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
     
    <?php
    Require('cfg.php');
    echo "<select name='vehicul2'>";
    if(isset($_POST["idVehic1"])){
        mysql_connect($cfg['linkid']);
        mysql_select_db($cfg[db_name]);
        $query = "SELECT `num_vague` FROM vehicules WHERE `type_veh`=".$_POST['idVehic1']." AND `process_restit`='0' ORDER BY `num_vague`";
        $result = mysql_query($query, $cfg['linkid']);
        while($row = mysql_fetch_array($result)){
            echo "<option>".$row['num_vague']."</option>";
        }
    }
    echo "</select>";
    ?>
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Points : 208
    Points
    208
    Par défaut
    Salut,
    J'ai pas eu le courage de tester, mais tu peux commencer par faire un alert(xhr.responseText), tu verras vite ce qu'il te renvoie. Après tu adaptes...

    Regardes bien les différents tutos, que tu peux trouver. Je sais qu'il y a une différence entre MOZ/IE sur le true/false (synchrone/asynchrone), en ce qui concerne le placement des instructions pour le onreadystatechange.
    Il y a des cas où MOZ ne te renvoie rien.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/05/2010, 18h22
  2. [MySQL] 1 table et 2 listes liées
    Par Ekik dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 07/02/2006, 16h47
  3. XMLHTTPRequest et listes liées
    Par ben23 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/12/2005, 16h32
  4. Problème avec listes liées entre elles et bouton "précé
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/08/2005, 15h10
  5. [Forms] chargement de liste impossible
    Par bargou dans le forum Forms
    Réponses: 17
    Dernier message: 15/02/2005, 09h04

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