Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Webmasters - Développement Web > AJAX

AJAX Forum sur la programmation AJAX. Avant de poster -> Les Tutoriels AJAX

Réponse
 
Outils de la discussion
Vieux 14/09/2006, 09h34   #1 (permalink)
Membre actif
 
Date d'inscription: janvier 2005
Localisation: bretagne
Âge: 26
Messages: 193
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
Vieux 14/09/2006, 09h48   #2 (permalink)
Membre régulier
 
Avatar de rieppe
 
Date d'inscription: octobre 2004
Âge: 23
Messages: 120
Envoyer un message via MSN à rieppe
Par défaut

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
Vieux 14/09/2006, 09h53   #3 (permalink)
Membre actif
 
Date d'inscription: janvier 2005
Localisation: bretagne
Âge: 26
Messages: 193
Par défaut

c'est un script tout simple, du genre

Code :
 
<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
Vieux 14/09/2006, 10h11   #4 (permalink)
Membre actif
 
Date d'inscription: janvier 2005
Localisation: bretagne
Âge: 26
Messages: 193
Par défaut

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
Vieux 14/09/2006, 10h18   #5 (permalink)
Membre régulier
 
Avatar de rieppe
 
Date d'inscription: octobre 2004
Âge: 23
Messages: 120
Envoyer un message via MSN à rieppe
Par défaut

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
Vieux 14/09/2006, 10h26   #6 (permalink)
Membre actif
 
Date d'inscription: janvier 2005
Localisation: bretagne
Âge: 26
Messages: 193
Par défaut

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 :
 
<script type='text/javascript'>
alert('test')); 
</script>
 
Mat_DZ est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/09/2006, 10h34   #7 (permalink)
Membre régulier
 
Avatar de rieppe
 
Date d'inscription: octobre 2004
Âge: 23
Messages: 120
Envoyer un message via MSN à rieppe
Par défaut

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 :
 
<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
Vieux 24/02/2007, 13h39   #8 (permalink)
Invité de passage
 
Date d'inscription: novembre 2006
Messages: 6
Par défaut

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
Vieux 24/02/2007, 15h00   #9 (permalink)
Invité de passage
 
Date d'inscription: novembre 2006
Messages: 6
Par défaut

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
Vieux 25/02/2007, 11h11   #10 (permalink)
Membre du Club
 
Date d'inscription: janvier 2007
Messages: 101
Par défaut

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
Vieux 07/03/2007, 01h11   #11 (permalink)
Invité de passage
 
Date d'inscription: mars 2007
Messages: 3
Par défaut

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
Vieux 11/03/2007, 20h39   #12 (permalink)
Invité de passage
 
Date d'inscription: novembre 2006
Messages: 6
Par défaut

exellent ça marche merci !!

(démo: http://5tfu.org )
c13303 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS JAVASCRIPTF.A.Q JAVASCRIPTTUTORIELS JAVASCRIPTSSOURCES JAVASCRIPTLIVRESAJAX

Réponse

Précédent   Forum des développeurs > Webmasters - Développement Web > AJAX



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide