[Ajax][Resolut] Pb avec div.innerHTML = xhr.responseText; sous ie
Pb avec div.innerHTML = xhr.responseText; sous ie [Ajax][Resolut] - HTML/CSS - Programmation
MarshPosté le 21-08-2008 à 11:02:33
Salut,
Je vais vous parler d'un pb sur lequel je viens de plancher 2 jours sans trouver la solution sur le net. Je me suis dit que si qqun tombait dessus, ca pourrait bien l'aider de trouver un post avec la solution !
On imagine une page html contenant ceci :
Code :
<script language="Javascript">
<!--
//// Fonction permettant d'apeller une page php (target) en lui passant des parametres (params) et d'afficher son contenu dans un div (div)
function AjaxPostAndPrintResInDiv(target, params, div)
qui posait un pb. A Priori Ie ne m'autorise pas à mettre le contenu de OAjax.responseText dans document.getElementById(div).innerHTML. En revanche ce que je ne m'explique pas, c'est qu'il m'autorise à faire
document.getElementById(div).innerHTML = "blah blah les fleursetc...";
En cherchant tout les moyens possible de modifier le contenu d'une page en javascript je suis tombé sur la methode appendChild. en transformant la ligne :
Mircale, cela fonctionne ! Je précide que, parmis mes moultes essais, j'avais tenté auparavant de passer par une variable de type texte temporaire sans succes.
Je précise aussi pour le puristes que ceci est un bout de code pour illustrer le principe, il n'est donc pas equipé de tout les tests permettant une execution fiable.
Marsh Posté le 21-08-2008 à 11:02:33
Salut,
Je vais vous parler d'un pb sur lequel je viens de plancher 2 jours sans trouver la solution sur le net. Je me suis dit que si qqun tombait dessus, ca pourrait bien l'aider de trouver un post avec la solution !
On imagine une page html contenant ceci :
la page miniAddElem.php est une page quelquonque renvoyant un resultat quelquonque en fonction du contenu des params que l'on lui passe...
Ce code fonctionne bien sous firefox, seamonkey, opera. Sous ie cela me sort une erreur de type inconnue
Apres moultes recherches j'ai déterminé que c'était le
document.getElementById(div).innerHTML = OAjax.responseText;
qui posait un pb. A Priori Ie ne m'autorise pas à mettre le contenu de OAjax.responseText dans document.getElementById(div).innerHTML.
En revanche ce que je ne m'explique pas, c'est qu'il m'autorise à faire
document.getElementById(div).innerHTML = "blah blah les fleursetc...";
En cherchant tout les moyens possible de modifier le contenu d'une page en javascript je suis tombé sur la methode appendChild.
en transformant la ligne :
par :
Mircale, cela fonctionne !
Je précide que, parmis mes moultes essais, j'avais tenté auparavant de passer par une variable de type texte temporaire sans succes.
Je précise aussi pour le puristes que ceci est un bout de code pour illustrer le principe, il n'est donc pas equipé de tout les tests permettant une execution fiable.
Message édité par notod le 21-08-2008 à 11:10:46