Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 14/09/2006, 09h34   #1
Membre du Club
 
Inscription : janvier 2005
Messages : 189
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations forums :
Inscription : janvier 2005
Messages : 189
Points : 64
Points : 64
Par défaut execution js dans page ajax

Bonjour à tous,
j'ai un petit problème bizar !
mon script js ne s'éxecute pas lorsque je l'insère dans ma page ajax.
Il fonctionne très bien sur ma page principale qui appèle l'ajax.
Quelqu'un à t il déjà eu ce pb?
Merçi
Mat_DZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 09h48   #2
Membre habitué
 
Avatar de rieppe
 
Étudiant
Inscription : octobre 2004
Messages : 115
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2004
Messages : 115
Points : 124
Points : 124
Envoyer un message via MSN à rieppe
Salut,

Quel genre de script ?

Qu'est ce que tu appel page ajax ? Une page avec du contenu obtenu via xmlhttpRequest ?
rieppe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 09h53   #3
Membre du Club
 
Inscription : janvier 2005
Messages : 189
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations forums :
Inscription : janvier 2005
Messages : 189
Points : 64
Points : 64
c'est un script tout simple, du genre

Code :
1
2
3
4
5
6
 
<script type='text/javascript'>
var mavaleur=dat();
var obj = document.getElementById("date_crea")
obj.value=mavaleur;
</script>
Ma page principale utilise une fonction avec XMLHttpRequest pour afficher mon résultat(tebleaux, champs textes,listes...) dans un div
Mat_DZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 10h11   #4
Membre du Club
 
Inscription : janvier 2005
Messages : 189
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations forums :
Inscription : janvier 2005
Messages : 189
Points : 64
Points : 64
Mon code ajax fonctionne parfaitement et me renvoi mes résultats, mais il m'est impossible d'éxécuter le moindre script js dans les pages appelées en ajax...
Mat_DZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 10h18   #5
Membre habitué
 
Avatar de rieppe
 
Étudiant
Inscription : octobre 2004
Messages : 115
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2004
Messages : 115
Points : 124
Points : 124
Envoyer un message via MSN à rieppe
Citation:
Envoyé par Mat_DZ
Ma page principale utilise une fonction avec XMLHttpRequest pour afficher mon résultat(tebleaux, champs textes,listes...) dans un div
Dans ce cas je pense que tu dois appeler ta fonction js en fin de ta fonction qui récupère ton résultat via xmlhttpRequest. Puisque je pense pas qu'elle soit appelée sinon.
rieppe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 10h26   #6
Membre du Club
 
Inscription : janvier 2005
Messages : 189
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations forums :
Inscription : janvier 2005
Messages : 189
Points : 64
Points : 64
meme sans appeler aucune fonction ca ne fonctionne pas, par exemple si j'execute le script qui suis dans ma page appelée via XMLHttpRequest, rien ne se passe. c'est quand meme bizar :
Code :
1
2
3
4
 
<script type='text/javascript'>
alert('test')); 
</script>
Mat_DZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2006, 10h34   #7
Membre habitué
 
Avatar de rieppe
 
Étudiant
Inscription : octobre 2004
Messages : 115
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2004
Messages : 115
Points : 124
Points : 124
Envoyer un message via MSN à rieppe
Citation:
Envoyé par Mat_DZ
meme sans appeler aucune fonction ca ne fonctionne pas, par exemple si j'execute le script qui suis dans ma page appelée via XMLHttpRequest, rien ne se passe. c'est quand meme bizar :
Code :
1
2
3
4
 
<script type='text/javascript'>
alert('test')); 
</script>
(Là pas trop puisqu'il y a une parenthèse en trop ^^)

Mais ca dépend ou tu veux que ce code soit éxécuté. Si c'est lorsque tu récupère le résultat d'un script php ou tout autre langage coté serveur, je pense que c'est normal, puisque le xmlhttpRequest (jl'appelle xhr a parti d'ici ^^) récupère de l'info en quelque sorte en arrière plan non ?

A voir, je m'y connais pas encore vraiment bien dans l'utilisation de l'objet xhr mais je pense que c'est normal de ce coté.

Si tu veux que du code JS s'éxécute dans ta page principale quand tu récupère la fonction js depuis xhr, là à mon avi il faut explicitement appeler ta fonction a la fin de la fonction dans laquelle tu récupère le xhr.responseText, si tant est que cela soit possible :/
rieppe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2007, 13h39   #8
Invité de passage
 
Inscription : novembre 2006
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 14
Points : 3
Points : 3
J'ai tenté la même et c'est vrai que c'est frustrant.

dans ma page php appellée par xmlhttpRequest (ajax ?) , impossible d'executer le moindre petit script javascript.

Disons qu'après tests, .. ca marche, avec ceci:

Citation:
<form name="form1" onSubmit="doPassVar(sendText);" action="#" >
<input type="button" name="sendText" maxlength="45" value="<? echo $dl; ?>" onClick="doPassVar(this);" >
</form>
doPassVar est effectivement executée ! (du moins sous fox)

mais demander une simple execution de

Citation:
<script type="text/javascript">

alert('test');

</script>
dans la page chargée en xmlhttprequest dans le div de l'index
, et bien alert ne marche pas.

C'est super frustrant, parce que mon 1er exemple prouve que cela pourrait parfaitement etre possible !
j'ai essayé un <body onload="";> egalement, mais bon deux balises body c'était une mauvaise idée dès le debut .. et ca marche pas evidemment.

n'y aurait il pas un equivalent de <div onload=".."> ? ou une meilleure idée ?
c13303 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2007, 15h00   #9
Invité de passage
 
Inscription : novembre 2006
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 14
Points : 3
Points : 3
http://www.developpez.net/forums/sho...?t=6259&page=2

->Pourquoi mon script JS ajouté à ma page avec innerHTML (AJAX, XSLT, ...) ne marche-t-il pas ?

Est ce bien de cela dont il s'agit ?

Si oui, comment se servir de SetInnerHTML ? (j'ai essayvé avec onclick="SetinnerHTML('nom du div','url')" mais ca ne marche pas ...)
c13303 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 11h11   #10
Membre du Club
 
Inscription : janvier 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 132
Points : 60
Points : 60
J'ai exactement le meme problème, des fonctions appellées par des liens passent, mais pas des fonctions appellées "automatiquement" dans un xhr..
Marc31boss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 01h11   #11
Invité de passage
 
Inscription : mars 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 3
Points : 3
Points : 3
Le problème de l'éxécution de scripts javascript vient du défaut d'implémentation du innerHTML par les navigateurs, qui zappent (entre autres le code je crois).
D'ou l'intérêt du SetInnerHTML mentionné ici :http://www.developpez.net/forums/sho...?t=6259&page=2

Pour l'utiliser avec Ajax, il faut remplacer :
Code :
document.getElementById(id).innerHTML=xhrequest.responseText;
par :
Code :
setInnerHTML(document.getElementById(id), xhrequest.responseText)
oui, la fonction ne prend pas un id en tant que String, mais un objet.

Ca roule sous IE et Firefox avec du javascript dans les pages appelées par xmlHttpRequest.
myPseudo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2007, 20h39   #12
Invité de passage
 
Inscription : novembre 2006
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 14
Points : 3
Points : 3
exellent ça marche merci !!

(démo: http://5tfu.org )
c13303 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 22h20.


 
 
 
 
Partenaires

Hébergement Web