Non exécution du script js dans page inclue via ajax [Résolu]

Signaler
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008
-
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008
-
bonjour,
tout est un peu expliqué dans le titre, jai une page style_fin.php dans lequel il y a un menu flash et grace a une fonction ajax.js et notamment grâce au XMLHTTPRequest je recharge des pages dans mon style_fin.php sans recharger cette derniere.
Bref dans mes pages filles, je fais appel a des fonction js définit dans le head de style_fin.php, et ces appels de fonctions de fonctionnent pas! pourquoi?le js n'est pas effectué?

15 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
j'ai répondu au MP ( inutile ! ),

restons sur le forum.
plus d'intervenants, plus de compétences, plus de chances de réponse.
tu mélanges un peu tout, c'est normal tu dois débuter,  mais surtout tu ne
lis pas, ou en diagonale.
tu charges du javascript avec ajax. à priori, je te dis : tu te compliques
la vie bien inutilement.
le javascript que tu charges, mets le dans ta page ! tu n'auras pas à le charger !
tu parles de page mère et fille, et à priori,ce n'est pas le cas !
néanmoins... je répète : le javascript reçu par ajax n'est pas interprété. il faut l'exécuter.
généralement on utilise eval ! mais ça veut dire que le php ne doit retourner que du javascript
et pas une page avec du html !
@+

>>'ai deux liste deroulante qui se modifie en fonction de ce que l'on selectionne
    c'est ça ton souci ? des selects liés ?
    ah ben alors ( pas encore mis sur CodesSources, car je ne sais pas où mettre ! )
          exemple ici

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

    oui "c'est normal". le javascript n'est pas interprété
       puisqu'avec ajax on obtient une réponse dans une variable
    on propose souvent de faire eval
    mais je me pose toujours la question : pourquoi donc charger du javascript avec ajax ?
          ça me semble curieux ! ajax, c'est du javascript, ça appelle du php,
          pourquoi diable renvoyer du javascript ?
          le javascript est déjà là ! mets y les functions nécessaire et point barre !

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Comment sa?erf je comprends pas trop....
J'ai mes fonctions javascripts incluses dans ma page mère mais quand je les appelle dans ma page fille dans un onClick=personnel(....) la rien ne marche... où veux tu que je les déclare et implémente?
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Je crois comprendre un peu mieu en relisant, tu veux que je mettent toutes mes fonction .js dans le mm fichier ajax.js???

Voila tout ce que je déclare dans le <head> de mon style_fin.phh je fais appel à plusieurs librairies:

<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript" src="javascript/prototype.js"></script>
<script type="text/javascript" src="javascript/scriptaculous.js?load=effects.js"></script>
<script type="text/javascript" src="javascript/personnel.js"></script>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
>>

Comment sa?erf je comprends pas trop....
    que ne comprends-tu pas ?
    je disais : il me semble curieux de charger du javascript avec ajax
       puisque ajax c'est du javascript. pourquoi ne pas mettre dans
       la page le javascript nécessaire plutôt que de le charger ?
       ça amène quoi de le charger avec ajax ?

>J'ai
mes fonctions incluses dans ma page mère mais quand je les
appelle dans ma page fille
    ah... ça c'est un autre problème !
    fille ? ouverte avce window.open? ou quoi ?
       si oui : window.opener.les_function_de_la_page_mère
       si non : c'est quoi "la fille" ? une frame ? top ou parent.les_function_de_la_page_mère

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

alors la je crois que du code s'impose, c'est des inclusion de page dans ma page styl_fin.php dans un div précis.
Ces pages inclus sont donc des bouts de codes sans head.
home_cinema.php appel des fonctions javascripts, et donc elle sont déclaré dans la page où tout est inclu style_fin.php... tu comprends mieu?
de plus dans ces fonctions il y a des librairies assez importantes, voila leur déclaration:
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript" src="javascript/prototype.js"></script>
<script type="text/javascript" src="javascript/scriptaculous.js?load=effects.js"></script>
<script type="text/javascript" src="javascript/personnel.js"></script>
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Mes pages "filles" ne sont pas ouverte avec window.opener, voila ma fonction ajax.js permettant le chargement de ces pages filles:

function load_page(select) {
 var xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest
 xhr2.onreadystatechange = function(){
  if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini
   if(xhr2.status  != 200){//Message si il se preoduit une erreur
    document.getElementById("corps").innerHTML ="Error code " + xhr2.status;
   } else {//On met le contenu du fichier externe dans la div "content"
    document.getElementById("corps").innerHTML = xhr2.responseText;
   }
  }
 }
 xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe
 xhr2.send(null);
 evalScripts=true;
}
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Une idée pour m'aider??
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
>>c'est des inclusion de page dans ma page styl_fin.php

    donc, ce ne sont pas des fenêtres filles.
        c'est la même page html  vu coté client.
   
    et pour le js chargé avec ajax, j'ai répondu ( malgré mon trés trés gros doute
          que ce soit nécessaire ! )
   
   
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

et quelle etait ta réponse? erf soit plus clair parce que mon niveau n'est pas au top question javascript et ajax
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
ma réponse ? eval.
mais si tu veux va voir l'excellente source de FremyCompagny en cliquant ici
j'insiste : tu es sûr que charger du javascript avec ajax est nécessaire ?
             ( perso, je n'en voit absoluement pas l'intérêt ! sauf cas... tordus, et encore !
                de toutes manières, il y a toujours moyen de faire autrement )
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Ba en faite dans ma page home_cinema.php j'ai deux liste deroulante qui se modifie en fonction de ce que l'on selectionne...resultat suivant le resultat souhaite il y a apparition avec des effets, bref dans la page home_cinema.php...erf c'est un peu tiré par les cheveux, mais jvois pas torpcomment faire autrement.... merci en tt cas je teste je teste sa!
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

et autre chose? je recopie ce code tel quel dans mon fichier ajax.js apres ma fonction loadpage?
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

ok ba j'ai limpression que ce que tu m'as filé, c'est un peu exactement ce que je veux faire.... donc je vais laisser mon code bidon qui me soule à pas vouloir se rafistoler et je tente ton truc.... merci bcp! et si souci, je reviendrais, lol merci!!
Messages postés
65
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
15 mai 2008

Mais bon reste ensuite à intégrer le code de lorsque je clik sur mon deuxieme select j'ai mon produit qui s'affiche....on verra jte recontacterai pour d'autre aides....