Comment afficher une popup contenant un progress bar ?
salut j'ai le javascript suivant fait avec ajax :
Code:
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 ?