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 :

[AJAX] [XAJAX] Lancer une fonction JS dans une fonction AJAX


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut [AJAX] [XAJAX] Lancer une fonction JS dans une fonction AJAX
    Bonjour, alors voilà je cherche à lancer une fonction JS durant une boucle qui se passe dans une fonction AJAX
    en gros j'ai une fonction AJAX qui se lance lorsqu'on sélectionne une activité et qui retourne dans un DIV tous les lieux où on peut pratiquer cette activité,
    mais je voudrais qu'en plus de lister ces lieux ils apparaissent dans une carte googlemap, en utilisant une fonction JS
    afficherAdresse2(adresse_et_ville,ville_seule,description)
    alors j'ai essayé un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo "<script type=\"text/javascript\">
    afficherAdresse2('".$adresse." ".$cp_org." ".$ville_org."','".$cp_org." - ".$ville_org."','".$commentaire."');
    </script>"
    Qui bien évidemment ne marche pas
    Donc ben voilà, comment fait-on pour lancer une fonction JS dans une fonction AJAX, si c'est possible, et si ça ne l'est pas comment je fais pour arriver à mes fins!

  2. #2
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par sixieme-sens Voir le message
    Donc ben voilà, comment fait-on pour lancer une fonction JS dans une fonction AJAX,
    ta réponse Ajax est traitée par une fonction JS.
    Il suffit que ta page PHP retourne les paramètres attendus (adresse_et_ville,ville_seule,description) dans la réponse. Tu n'as plus qu'à les récupérer (dans ton onreadystatechange) et appeler ta fonction de manière classique ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Ok, bon ce que j'ai compris c'est que c'est possible;
    Maintenant je n'ai pas compris grand chose de ta réponse, c'est quoi cette histoire de onreadystatechange?
    parceque voici ma fonction AJAX :
    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
     
    function fonction8($id_activite)
    {
    require_once ('connexion.php.inc');	
    $reponse8 = new xajaxResponse();
    $resu8="";
     
     
    $req8="SELECT organisation.nom_org, organisation.adresse, organisation.id_commune, organisation.telephone, ".
    "organisation.fax, organisation.mail, organisation.site, proposer.commentaire, ".
    "lieu_pratique.nom, lieu_pratique.adresse, lieu_pratique.id_commune, commune.cp, commune.nom_ville ".
    "FROM organisation, proposer, lieu_pratique, commune, activite ".
    "WHERE proposer.id_lieu=lieu_pratique.id_lieu ".
    "AND proposer.id_activite=activite.id_activite ".
    "AND activite.id_activite='".$id_activite."' ".
    "AND lieu_pratique.id_commune=commune.id_commune ".
    "and organisation.id_org=proposer.id_org ";
     
    $rep8=mysql_query($req8);
    $l=0;
    	while ($o_sql8=mysql_fetch_array($rep8))
    	{
    		$nom=($o_sql8[0]);
    		$adresse=($o_sql8[1]);
    		$id_commune=($o_sql8[2]);
    		$tel=($o_sql8[3]);
    		$fax=($o_sql8[4]);
    		$mail=($o_sql8[5]);
    		$site=($o_sql8[6]);
    		$commentaire=($o_sql8[7]);
    		$lieu_pratique=($o_sql8[8]);
    		$adresse_lieu_pratique=($o_sql8[9]);
    		$cp=($o_sql8[10]);
    		$nom_ville=($o_sql8[11]);
    		$req8_1="select commune.cp, commune.nom_ville from commune where id_commune=".$id_commune;
    		$rep8_1=mysql_query($req8_1);
    		while ($o_sql8_1=mysql_fetch_array($rep8_1))
    		{
    		$cp_org=($o_sql8_1[0]);
    		$ville_org=($o_sql8_1[1]);
    		}
    $resu8.=$nom."<br />".$adresse." - ".$cp_org." - ".$ville_org."<br />".$lieu_pratique."<br />".$adresse_lieu_pratique." - ".$cp." - ".$nom_ville."<hr>";
            }
     
    // en gros je veux faire ça : 
    afficherAdresse2('$adresse','$ville','$commentaire')
     
    $reponse8->assign('test', 'innerHTML', utf8_encode($resu8));//Enfin, on affiche le resultat
    return $reponse8;
    mysql_close();
    }
     
    require_once('./xajax_core/xajax.inc.php');
    $xajax = new xajax();
    $xajax->register(XAJAX_FUNCTION, 'fonction8');
    $xajax->processRequest();
    $xajax->printJavascript();

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Je ne suis pas sûr que ce soit réellement le bon endroit pour poster ce problème... je ne connais pas "xajax", mais vraisemblablement c'est une manière de traiter les echanges ajax côté PHP, alors que ce forum étudie plutôt le versant javascript, à l'envoi comme au retour (utilisation de l'objet XMLHTTPRequest et consorts).
    En tout cas c'est ce que j'ai cru comprendre à la lecture de ce thread
    J'espere que je me trompe et que d'autres auront des pistes pour toi ^^

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  5. #5
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Ou sinon,du côté serveur,tu peux faire
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "afficherAdresse2('$adresse $cp_org $ville_org','$cp_org - $ville_org','$commentaire');"
    (sans les balises <script> et </script>
    et du côté du retour de la requête AJAX faire:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    eval(objet_ajax.responseText);
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/05/2013, 10h27
  2. Réponses: 4
    Dernier message: 24/08/2011, 18h23
  3. Réponses: 6
    Dernier message: 13/11/2009, 16h06
  4. erreur dans une requête sql dans une fonction php
    Par frboyer dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2009, 13h37
  5. Réponses: 10
    Dernier message: 18/04/2007, 17h17

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