Version complète: sur le forum Webmaster Hub : Javascript - Comment ecrire sans recharger ?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > (X)HTML et CSS
bigornot
Bonjour,

J'ai un script :

CODE
<script type="text/javascript" language="javascript">

   var http_request = false;

   function makeRequest(url) {

       http_request = false;

       if (window.XMLHttpRequest) { // Mozilla, Safari,...
           http_request = new XMLHttpRequest();
           if (http_request.overrideMimeType) {
               http_request.overrideMimeType('text/xml');
           }
       } else if (window.ActiveXObject) { // IE
           try {
               http_request = new ActiveXObject("Msxml2.XMLHTTP");
           } catch (e) {
               try {
                   http_request = new ActiveXObject("Microsoft.XMLHTTP");
               } catch (e) {}
           }
       }

       if (!http_request) {
           alert('Abandon :( Impossible de créer une instance XMLHTTP');
           return false;
       }
       http_request.onreadystatechange = alertContents;
       http_request.open('GET', url, true);
       http_request.send(null);

   }

   function alertContents() {

       if (http_request.readyState == 4) {
           if (http_request.status == 200) {
               document.write(http_request.responseText);
           } else {
               alert('Un problème est survenu avec la requête.');
           }
       }

   }
</script>
<span
   style="cursor: pointer; text-decoration: underline"
   onclick="makeRequest('ml.xml')">
       Effectuer une requête
</span>


Qui doit, normalement, écrire le contenu du fichier ml.xml quand on clique sur le span.
Malheureusement, quand je clique, le span disparait ?!
Comment faire pour ne pas avoir ça ?
Merci!
Boo2M0rs0
Le problème vient de là:
document.write(http_request.responseText);

document.write lorsqu'il est appelé après la fin du chargement de la page efface le contenu entier de la page pour afficher le texte.

Donne un id unique à ton span, par exemple:
CODE
<span id="fichier_xml"


et d'utiliser ce code pour afficher le contenu à l'intérieur du span:
CODE
document.getElementById("fichier_xml").innerHTML = http_request.responseText;
bigornot
Ha merci!

Ca marche ...
Trop fort!
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.