J'ai recherché sur ce sujet, mais je n'ai rien trouver, je suis étonné, je ne suis sûrement pas le premier à me casser le nez là dessus ?
Mon problème est simple: Comme puis-je faire pour que le code Javascript qui est contenu dans la réponse à mon appel Ajax puisse s'éxécuter ?
Voici un code exemple ou je fais mes tests qui ne fonctionne pas.
J'ai essayé de faire court. Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <html> <body> <script type="text/javascript"> var i = 0; function ajax(){ var xhr=null; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } //on définit l'appel de la fonction au retour serveur xhr.onreadystatechange = function() { Display_ajax(xhr); }; //on appelle le fichier reponse.txt xhr.open("GET", "reponse.php", true); xhr.send(null); } function Display_ajax(xhr){ if (xhr.readyState==4) { // Declaration de la variable de retour HTML var My_html_Response = xhr.responseText; document.getElementById("result").innerHTML = My_html_Response; } } function insert(){ var myRow = document.getElementById('ta').insertRow(-1); var newCell = myRow.insertCell(0); i++; newCell.innerHTML = 'nouvelle cellule '+i; } </script> <p><a href="javascript:ajax();">Insérer une ligne via Ajax</a></p> <p><a href="javascript:insert();">Insérer une ligne direct</a></p> <div id=result>Attente</div> <table id="ta" border=1> <tr><td>Ligne 0</td></tr> </table> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php echo "<script> insert(); //alert(\"Ajout de ligne\"); </script>"; ?>
Partager