Bonjour,

Dans l'application sur laquelle je bosse, je ne souhaite charger une partie de la page que si l'utilisateur le demande réellement. Cette partie est dans une <TR> cachable et vide au démarrage. Si l'utilisateur le veut il peut la rendre visible. Je la charge alors avec Ajax. Elle est un peu longue à construire et donc à charger car sa création fait pas mal d'appel à des API externes comme Flickr. Voilà pourquoi je la cache si l'utilisateur ne veut pas y bosser.


Cette partie de page vient avec ses javascripts. Certains sont fixes, je les ai inclus dans un .js, les autres sont construits dynamiquement.

Le script php appelé par Ajax retourne l'ensemble du code html nécessaire au fonctionnement de cette partie: scripts + html:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<td>
<script type="text/javascript" src="manage_groupadmin.js"></script>
<script type="text/javascript">
// <![CDATA[
...
</script>
 
<form name="formDecisions" method="post" action="manage_do.php">
...
</form>
</td>
J'ajoute tout ça dans un tag tr.innerHTML via responseText de la requête Ajax.Request (je bosse avec prototype.js):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
app.innerHTML=terminal.responseText;

Ca marche presque bien: les scripts et l'html sont bien présent (firebug me montre bien tous les scripts générés). Le problème est qu'aucun script ne fonctionne

Firebug me balance un "changeDDChamps is not defined" où "changeDDChamps" est une des fonctions chargée par Ajax.

J'espère que la longueur de mon exposé ne vous rebutera pas.

Merci pour le coup de main.

Laurent

PS: mon script php est correct car si, au lieu de différer son chargement via Ajax, je l'incorpore directement dans la page principale tout fonctionne nickel.