2012-04-11 5 views
0

Dans la barre de menu gauche, j'ai deux liens et des messages tout en cliquant sur les messages, il récupère la page de message de l'utilisateur du serveur, il fonctionne correctement. Je veux montrer une image en tant que symbole de chargement à l'utilisateur, où mettre ce code je ne l'ai pas obtenu. J'utilise code suivant ajax pour récupérer la page de message de serveurOù et comment afficher ajax chargement image

function getMessages(id) 
    { 
     var xmlhttp; 
     if (window.XMLHttpRequest) 
     { 
      xmlhttp=new XMLHttpRequest(); 
     } 
     else 
     { 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     if (typeof xmlhttp == "undefined") 
     { 
      ContentDiv.innerHTML="<h1>XMLHttp cannot be created!</h1>"; 
     } 
     else{ 

      var query='message?id='+id; 
      xmlhttp.open("GET",query,true); 
      xmlhttp.onreadystatechange=function() 
      { 
       if (xmlhttp.readyState==4 && xmlhttp.status==200) 
       { 
        document.getElementById("profile-detail").innerHTML=xmlhttp.responseText; 
       } 
      } 
      xmlhttp.send(); 
     } 
    } 
+0

Appelez la fonction, montrant notre message de chargement lorsque vous obtenez juste dans votre fonction. Et fonction qui masque ce message dans la fonction de gestionnaire onreadystatechange. – sleepwalker

+0

Juste curieux: Une raison pour laquelle vous n'utilisez pas une bibliothèque Javascript comme Jquery? – ErJab

+0

Aucune idée à propos de Jquery – xrcwrn

Répondre

1

1 Supposons que vous avez en vous la page

<img id="ajaxImageCtrl" src="path/ajax.gif" /> 

2 Mettez cette ligne juste après var xmlhttp;

document.getElementById("ajaxImageCtrl").style.display = 'block' 

3 Put cette ligne

document.getElementById("ajaxImageCtrl").style.display = 'none'; 

après

document.getElementById("profile-detail").innerHTML=xmlhttp.responseText; 

J'espère que cela fera le travail

Questions connexes