salut j'ai le javascript suivant fait avec ajax :

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
 
 
/** JAVASCRIPT OBJET 
*/
 
/** Classe mère httpRequest*/
 function httpRequest() {
 
        var m_http_request = false;
 
	/**
		Initialise et envoie la requete HTTPRequest
		 @param : url : url de la reuqête ajax
		 @param : Istimeout : true : recharge la page suivant le timeout
		 @param : timeout : valeur du timeout
		 Attention : le résultat doit être mis dans des composants dont les identifiants sont : loading, resultat, result
	*/
 
	this.sendRequest = function sendRequest(i_url,i_isTimeout,i_timeout, i_target)
	{
 
		this.url = i_url;
		this.isTimeout = i_isTimeout;
		this.timeout = i_timeout;
 
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
		    m_http_request = new XMLHttpRequest();
		    if (m_http_request.overrideMimeType) {
			m_http_request.overrideMimeType('text/xml');
		    }
		} else if (window.ActiveXObject) { // IE
		    try {
			m_http_request = new ActiveXObject("Msxml2.XMLHTTP");
		    } catch (e) {
			try {
			    m_http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		    }
		}
 
		if (!m_http_request) {
		    alert('Abandon :( Impossible de créer une instance XMLHTTP');
		    return false;
		}
 
		if (i_target == "message_zone")
		{
			m_http_request.onreadystatechange = readHttpMessageResponse;
		}
		else
		{
			m_http_request.onreadystatechange = readHttpRequestResponse;
		}
		m_http_request.open('GET', i_url, true);
		m_http_request.send(null);
 
		if (i_isTimeout)
		{		
			setTimeout("reload('"+i_url+"','"+i_isTimeout+"','"+i_timeout+"','"+i_target+"')",i_timeout);		
		}
	}
 
 
	/**
	   FONCTION PRIVEE
	*/
 
	/**
	* Fonction lue par XMLHTTPRequest jusqu'à ce que la réponse arrive
	* Le résultat doit être mis dans des composants dont les identifiants sont : loading, resultat, result
	*/
	this.readHttpRequestResponse = function readHttpRequestResponse ()
	{
		if (m_http_request.readyState == 4)
		{
		    if (m_http_request.status == 200)
		    {
				document.getElementById("loading").firstChild.nodeValue = "end loading.";
				document.getElementById("result").innerHTML = m_http_request.responseText; 			
		    }
		    else
		    {
				alert('Un problème est survenu avec la requête.');
			}
		}
		else
		{
			document.getElementById("loading").firstChild.nodeValue = "loading in progress...";
		}
	}
 
 
	this.readHttpMessageResponse = function readHttpMessageResponse ()
	{
		if (m_http_request.readyState == 4)
		{
		    if (m_http_request.status == 200)
		    {
				document.getElementById("message_zone").innerHTML = m_http_request.responseText; 			
		    }
		    else
		    {
				alert('Un problème est survenu avec la requête.');
			}
		}
	}	    
 
    }
/**
FIN CLASSE MERE
**/
 
 
/**
Fonction globale privée
*/
/**
Reload est rappelé par le timeout si nécessaire
*/
 function reload(i_url,i_isTimeout,i_timeout, i_target) {
      var lhttpRequest = new httpRequest();
	lhttpRequest.sendRequest(i_url,i_isTimeout,i_timeout, i_target);
    }

je voudrais le modifier afain d'integrer l'affichage d'un pop up montrant à la fois un progress bar et un message "loading in progress" et ce le temps que la reponse http soit disponible et puis il se ferme et donc disparait .

qualqu'un pourrait il m'aider svp ?