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
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
Salut,
Quel genre de script ?
Qu'est ce que tu appel page ajax ? Une page avec du contenu obtenu via xmlhttpRequest ?
c'est un script tout simple, du genre
Ma page principale utilise une fonction avec XMLHttpRequest pour afficher mon résultat(tebleaux, champs textes,listes...) dans un div
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <script type='text/javascript'> var mavaleur=dat(); var obj = document.getElementById("date_crea") obj.value=mavaleur; </script>
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...
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.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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <script type='text/javascript'> alert('test')); </script>
(Là pas trop puisqu'il y a une parenthèse en trop ^^)Envoyé par Mat_DZ
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 :/
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:
doPassVar est effectivement executée ! (du moins sous fox)<form name="form1" onSubmit="doPassVar(sendText);" action="#" >
<input type="button" name="sendText" maxlength="45" value="<? echo $dl; ?>" onClick="doPassVar(this);" >
</form>
mais demander une simple execution de
dans la page chargée en xmlhttprequest dans le div de l'index<script type="text/javascript">
alert('test');
</script>
, 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 ?
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 ...)
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..
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 :
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById(id).innerHTML=xhrequest.responseText;
oui, la fonction ne prend pas un id en tant que String, mais un objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part setInnerHTML(document.getElementById(id), xhrequest.responseText)
Ca roule sous IE et Firefox avec du javascript dans les pages appelées par xmlHttpRequest.
exellent ça marche merci !!
(démo: http://5tfu.org )
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager