ajax parse error

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ajax parse error

Re: ajax parse error

par nawnaw » 28 sept. 2010, 12:46

"Impossible de transférer le fichier joint de ./files/14915_e3b51ff28ee43a74ac3f40da3a99c0c3" pourquoi je n'arrive pas à joindre mes fichiers?!

Re: ajax parse error

par nawnaw » 28 sept. 2010, 12:41

voila ce que j'obtiens après une première selection(capture.png) et quand je fais une deuxième selection j'obtiens(capture2.png)
si ca peut vous aider à comprendre ce qui se passe
merci

Re: ajax parse error

par Invité » 27 sept. 2010, 19:54

désolé je n'ai pas compris

Re: ajax parse error

par stealth35 » 27 sept. 2010, 18:39

ton form tu le redirige vers l'autre page
tu selectionnes ton pays et tu fais valider, tu va bien voir les erreur et si y'a les option

Re: ajax parse error

par nawnaw » 27 sept. 2010, 18:38

essayes sans l'ajax

pays -> ville
ù
excusez moi mais je ne vous suis pas,pouvez vous m'expliquer plus?

Re: ajax parse error

par stealth35 » 27 sept. 2010, 17:44

essayes sans l'ajax

pays -> ville

Re: ajax parse error

par nawnaw » 27 sept. 2010, 17:40

non malheureusement je n'ai pas un test en ligne et je ne vous cache pas je deviens dingue :afraid:

Re: ajax parse error

par stealth35 » 27 sept. 2010, 17:09

ta pas un test en ligne ? tu m'envoie par MP l'adresse

Re: ajax parse error

par nawnaw » 27 sept. 2010, 12:49

bonjour
voici le code après modification des id
<html>
        <head>
                <title>Page pays ville</title>
                <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 {
                                        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;
                                }
                                return xhr;
                        }

                        /**
                        * Méthode qui sera appelée sur le click du bouton
                        */
                        function go(){
                                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('ville').innerHTML = leselect;

                                        }
                                }

                                // Ici on va voir comment faire du post
                                xhr.open("POST","ville.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 pays
                                sel = document.getElementById('pays');
                                idpays = sel.options[sel.selectedIndex].value;
                                xhr.send("idpays="+idpays);
                        }
                </script>
        </head>
        <body>
                <form>
                        <fieldset style="width: 400px">
                                <legend>Liste liées</legend>
                                <label>Pays</label>
                                <select name='pays' id='pays' onchange='go()'>
                                        <option value=''>Choisir un pays</option>
                                        <?php
                                        mysql_connect("localhost","root","");
                                        mysql_select_db("base1");
                                        $sql = "SELECT idpays, nompays FROM pays ORDER BY nompays";
                                        $res = mysql_query($sql) or exit($sql . '<br />' . mysql_error());
                                        while($row = mysql_fetch_assoc($res)){
                                        	echo '<option value="'.$row["idpays"].'">' . $row["nompays"] .  '</option>';
                                        }
                                        ?>
                                </select>
                                <label>Villes</label>
                                <div id='ville' style='display:inline'>
                                <select name='ville'>
                                        <option value=''>Choisir une ville</option>
                                </select>
                                </div>
                        </fieldset>
                </form>
        </body>
</html>
<?php
if(isset($_POST["idpays"])){
	mysql_connect("localhost","root","");
	mysql_select_db("base1");
	$sql = "SELECT idville, nomville FROM ville WHERE idpays='".$_POST["idpays"]."' ORDER BY nomville";
	$res = mysql_query($sql) or exit($sql . '<br />' . mysql_error());
	while($row = mysql_fetch_assoc($res)){
		echo '<option value="'.$row["idville"].'">'.$row["nomville"].' </option>';
	}
} else {
	echo 'idpays non valide';
}
?>
et firebug ne signale rien

Re: ajax parse error

par stealth35 » 27 sept. 2010, 00:56

t'es sur de tout les valeurs misent, les id et compagnie, refait le debugage de $_POST, verifie ce que retourne firebug

Re: ajax parse error

par nawnaw » 27 sept. 2010, 00:53

bonsoir et merci pour votre et effort et votre patience.
j'ai utilisé le code que vous m'avez donné seulement quand je selectionne un paysje n'obtiens rien dans la liste des villes et si je selectionne un autre pays l'execution s'arrete dans la ligne if(isset($_POST["idpays"])){ du fichier ville.php

Re: ajax parse error

par stealth35 » 26 sept. 2010, 04:24

excusez moi mais je jette l'éponge pour aujourd'hui j'ai beau tout essayé je n'arrive plus à reflechir(je me demande bien à quoi)
merci à vous stealth
bon allé
<html>
        <head>
                <title>Page pays ville</title>
                <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 {
                                        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;
                                }
                                return xhr;
                        }

                        /**
                        * Méthode qui sera appelée sur le click du bouton
                        */
                        function go(){
                                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('ville').innerHTML = leselect;

                                        }
                                }

                                // Ici on va voir comment faire du post
                                xhr.open("POST","ville.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 pays
                                sel = document.getElementById('pays');
                                idpays = sel.options[sel.selectedIndex].value;
                                xhr.send("idpays="+idpays);
                        }
                </script>
        </head>
        <body>
                <form>
                        <fieldset style="width: 400px">
                                <legend>Liste liées</legend>
                                <label>Pays</label>
                                <select name='pays' id='pays' onchange='go()'>
                                        <option value=''>Choisir un pays</option>
                                        <?php
                                        mysql_connect("localhost","root","");
                                        mysql_select_db("base1");
                                        $sql = "SELECT id, nompays FROM pays ORDER BY nompays";
                                        $res = mysql_query($sql) or exit($sql . '<br />' . mysql_error());
                                        while($row = mysql_fetch_assoc($res)){
                                                echo '<option value="'.$row["id"].'">' . $row["nompays"] .  '</option>';
                                        }
                                        ?>
                                </select>
                                <label>Villes</label>
                                <div id='ville' style='display:inline'>
                                <select name='ville'>
                                        <option value=''>Choisir une ville</option>
                                </select>
                                </div>
                        </fieldset>
                </form>
        </body>
</html>
adapte le id suivant ta table
if(isset($_POST["idpays"])){
    mysql_connect("localhost","root","");
    mysql_select_db("base1");
    $sql = "SELECT id, nomville FROM ville WHERE idpays='".$_POST["idpays"]."' ORDER BY nomville";
    $res = mysql_query($sql) or exit($sql . '<br />' . mysql_error());
    while($row = mysql_fetch_assoc($res)){
        echo '<option value="'.$row["id"].'">'.$row["nomville"].' </option>';
    }
} else {
    echo 'idpays non valide';
}
adapte le id aussi

Re: ajax parse error

par nawnaw » 26 sept. 2010, 04:16

excusez moi mais je jette l'éponge pour aujourd'hui j'ai beau tout essayé je n'arrive plus à reflechir(je me demande bien à quoi)
merci à vous stealth

Re: ajax parse error

par stealth35 » 26 sept. 2010, 04:09

il suffis de mettre l'id des pays dans le value des options

Re: ajax parse error

par nawnaw » 26 sept. 2010, 03:55

effectivement je crois que j'ai une erreur dans ma requete
$res = mysql_query("SELECT nomville FROM ville
            WHERE nompays='".$_POST["nompays"]."' ORDER BY nomville");
le champ "nompays" n'existe pas dans la table ville mais le champ "idpays" si,donc j'ai remplacé "nompays" par "idpays" seulement dans $_POST le "idpays" n'existe pas!j'ai donc aussi modifié la première requete et j'ai fait un select * au lieu d'un select nompays mais ca ne donne rien