Bonjour,
j'ai développé une page php qui permet de rafraîchir en ajax une page. La page (supervision.php) représente un tableau décrit en php.Tout ceci fonctionne très bien. Cependant la page se rafraîchit au moment où je reçois les informations (xhr.readyState==4). Pour les autres états j'affiche une icône. Ce que je voudrai c'est à la place d'afficher un icône, garder l'ancien tableau, pour qu'il n'y ait pas ce semblant d'attente. j'ai essayé de rien mettre mais c'est pire, on dirait que la page saute.
si quelqu'un a une idée.merci par avance

voici le code:

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
 
 
<?php
$page = 'supervision.php?search='.$search.'&delimiteur='.$delimiteur.'&filtreetat='.$filtreetat;
$delay_=__REFRESH *1000;
//$delay_=3000;
?>
 
 
		<script language="JavaScript" >
		nom_de_la_page='<?php echo ($page); ?>';
		ecriture='<?php echo ($ecriture); ?>';
		var xhr=null;
		function charge()
		{
 
		   try{
     		   if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
       		   else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
        	  else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
        	  xhr.open('GET',nom_de_la_page,true);
 
			show_loader(true); 
			document.getElementById('content').innerHTML = ''; 
 
			//
			// Cr�ation de l'evenement 
			//
			xhr.onreadystatechange = function() 
			{ 
				switch (xhr.readyState)
				{
					case 0 : 
						// pas encore initialis� 
// 						document.getElementById('legend').innerHTML = 'Initialisation en cours...'; 
						document.getElementById('legend').innerHTML = ecriture;
 
						break; 
 
					case 1 : 
						// loading 
// 						document.getElementById('legend').innerHTML = 'Transfert des donn&eacute;es en cours...'; 
						document.getElementById('legend').innerHTML = ecriture;
 
						break; 
 
					case 2 : 
						// Donn�es transfer�es en int�gralit� 
// 						document.getElementById('legend').innerHTML = 'Donn&eacute;es transfer&eacute;es'; 
						document.getElementById('legend').innerHTML = ecriture;
						break; 
 
					case 4 : 
						// On cache le loader 
						show_loader(false); 
 
						// On remplit le <div>
						document.getElementById('content').innerHTML = xhr.responseText;
						break;
				}
			} 
 
 
			xhr.send(null);
			var delay='<?php echo ($delay_); ?>';
			var timer=setTimeout("charge()",delay);
 
    } catch (e) {
           window.alert("Navigateur Obsol\u00E8te: Votre navigateur ne prend pas en charge l'AJAX.");
	   top.location.href="deconnexion.php";
 
        }
 
		}
 
		function show_loader(affiche)
		{
			document.getElementById('loader').style.display = (affiche == true)?'inline':'none'; 
		}
 
//charge();
</script>
 
 
<body onLoad="charge();">
		<div id="loader" style="display:none;">
			<?php 
// include("supervision.php?etat=$search&delimiteur=$delimiteur&filtreetat=$filtreetat");
 ?>
			<table align="center">
			<tr align="center"><td valign="center"><br>
			<img src="img/chargement.gif" style="border:0;"/>
			</td></tr>
			<tr><td>
			<div id="legend" ></div>
			</td></tr>
			</table>
		</div>
		<div id="content" ></div>
</body>