Aller au contenu

Javascript - Comment ecrire sans recharger ?


bigornot

Sujets conseillés

Bonjour,

J'ai un script :

<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!

Lien vers le commentaire
Partager sur d’autres sites

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:

<span id="fichier_xml"

et d'utiliser ce code pour afficher le contenu à l'intérieur du span:

document.getElementById("fichier_xml").innerHTML = http_request.responseText;

Modifié par Boo2M0rs0
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...