Bonjour tout le monde,

Suite � ce post :
http://www.developpez.net/forums/vie...439640#2500971
J'ai voulu essayer mais ca ne marche pas sous IE...
Voici ce que je fais :

J'ai un bouton, quand je clique sur celui ci je fais une requete AJAX dans le but de remplir un div avec du HTML mais surtout dans le but de r�cup�rer et donc de cr�er � la vol� une fonction javascript que le serveur m'envoie.

Function qui g�re l'action du bouton:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
if (document.getElementById('test_button'))
        {
                document.getElementById('test_button').onclick=function()
                {
                        sendDataXML('POST','test_xml.php','valeur='+escape(document.getElementById('test_text').value),document.getElementById('test_result'));
                        document.getElementById('test_result').innerHTML='Veuillez patienter...Requête en cours';
                }
        }
Function sendDataXML (les lignes importantes):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
function sendDataXML(method, url, data, noeudDest)
{
.....
                xmlRequest.overrideMimeType('text/xml');
......
                 if (xmlRequest.status == 200)
                 {
                      noeudDest.innerHTML="";                                          addChild(noeudDest,xmlRequest.responseXML.documentElement);                                        
}
                        }
.....
}
Et enfin le fichier test_xml.php :
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
<?
include_once($_SERVER['DOCUMENT_ROOT']."global/lib.inc.php");
header('Content-type: text/xml; charset=iso-8859-15');
?>
<html>
 <body>
  <script type="text/javascript">
function toto(){
  alert('bonjour <?=$_POST['valeur']?>');
}
toto();
  </script>
  Text en <b>HTML</b>
 </body>
</html>
Sachant que la function sendDataXML utilise ceci:
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
function clone(elem){
      if(elem.nodeName == "#text")
         return elem;
 
      c = document.createElement(elem.nodeName);
      if(elem.hasAttributes()){
         for(var i=0;i<elem.attributes.length;i++){
            var curr = elem.attributes[i];
            c.setAttribute(curr.name,curr.value);
 
         }
      }
      return c;
   }
 
function addChild(par,enf){
      if(enf.childNodes.length > 0){
         var tmpe = new Array();
         while(enf.childNodes.length > 0){
            var elem = enf.removeChild(enf.firstChild);
            tmpe.push(elem);
         }
         if(enf.parentNode){
            var epar = enf.parentNode;
            var el = epar.removeChild(enf);
            par.appendChild(clone(el));
         }
         else
            par.appendChild(clone(enf));
         var cmpt=0;
         while(tmpe.length>0){
            this.addChild(par.lastChild,tmpe.shift());
            cmpt++;
         }
      }
      else{
         par.appendChild(clone(enf));
      }
   }
Dans le post auquel je fais r�f�rence, Grepack a eu aussi une erreur sous IE, je ne sais pas si tu as r�ussi � la corrig� ...

Voila pour moi l'erreur se situe dans la fonoction addchild() mais je ne suis pas sur..

Merci d'avance