Prob de refresh dans un <DIV>

dcourbiere Messages postés 6 Statut Membre -  
dcourbiere Messages postés 6 Statut Membre -
Bonjour,

J'ai un soucis avec ma page 'php', en fait je charge un fichier dans une balise <DIV>. la premiere fois ça marche, mais je lance un commande 'Javascripts' ( SetInterval) qui me le charge toute les 4 sec. Mais ça ne fonctionne pas même un rafraichissement de la page entière par F5. Je suis obligé de supprimer tous les fichiers "Tempory internet Files" pour que se soit pris en compte....
Y a t-il une autre solution sans supprimer ces fichiers !Aidez moi SVP! En faite je créé un petit Chat : voici le code.
( Le fichier envoie.php met à jour le fichier TXT qui contient la discussion et revient à la page)

<HTML>
<head>
	<title>DISCUT_DAV_TOOL(DDT v0.1)</title>

	<script type="text/javascript">
	<!--

	var strId = "div1";
	var champs_sais = "saisie"
	var obj = null;
	var txt = "";
	var fichier = "result.txt";
	
	today = new Date();  

	function ouvrirFichier () {
		if(window.XMLHttpRequest) 
			obj = new XMLHttpRequest();
		else if(window.ActiveXObject)
			obj = new ActiveXObject("Microsoft.XMLHTTP");	
		else{ // XMLHttpRequest non supporté par le navigateur   
    			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
    			return;
		}

		obj.open("GET", fichier, true);   
		obj.onreadystatechange = function() {   
    			if(obj.readyState == 4) {  
				document.getElementById(strId).innerHTML = obj.responseText;
			}
 		}   
 		obj.send(null); 	
		return 1
	}

	function quitter(par)
	{
  		clearTimeout(par);
	}

	function donner_focus(chp) 
	{ 
		document.getElementById(chp).focus(); 
	} 

	// -->
	</script>
</head>
<form name="form1" method="post" action="envoie.php">
					<p align="center">
						<input name="pseudo" type="hidden" value=<?$_COOKIE['cookieDDT']?>>
						<input name="pseudopass" type="hidden" value=<?$_COOKIE['cookieDDTpass']?>>
						<input name="enreg" type="hidden" value=<?$_COOKIE['cookieDDTPACT']?>>
						<TEXTAREA NAME="message" ROWS=4 COLS=50></TEXTAREA>
        				</p>
        				<p align="center"> 
          					<input type="submit" name="Submit" value="Envoyer">
        				</p>
</form>

	<div id="div1">Chargement en cours, veuillez patienter...</div>
	<div id="div3">
		<center>
		<SCRIPT LANGUAGE="JavaScript" SRC="https://meteofrance.com/" TYPE="text/javascript"></SCRIPT> 
		</center>
	</div>
	<script type="text/javascript">
	<!--
		b = setInterval("ouvrirFichier();",4000);
	// -->
	</script>


</HTML>


Merci
A voir également:

6 réponses

kij_82 Messages postés 4260 Statut Contributeur 857
 
Bonjour,

Effectivement, tu ne fais appel à setInterval qu'une seule fois au lancement de ton script, donc ta fichier va bien être écrit dans ta DIV. Si tu souhaite qu'il soit à nouveau afficher 4 secondes plus tard après avoir été écrit, il faut que tu rappelle à nouveau ta fonction dans un setInterval :
obj.onreadystatechange = function() {   
    			if(obj.readyState == 4) {  
				document.getElementById(strId).innerHTML = obj.responseText;
                                setInterval("ouvrirFichier();",4000);
			}
 		}   



Je n'ai pas testé mais logiquement ça devrait fonctionner.
1
dcourbiere Messages postés 6 Statut Membre
 
Merci pour ta réponse mais justement c'est ce que je fait avant la balise </HTML> !! à moin que le b=SetInterval..... soit mal placé.
Mais en plus le soucis c'est que lors du click sur le bouton 'Envoyer' (qui lance le fichier envoie.php), Le fichier est mis à jour et la page entière (celle du code posté precedemment : message.php) est rafraichie !
J'ai commencer à developper avec des FRAME puis les DIV avec du XMLHttpRequest et la j'avoue
Je commence à me perdre !

HELP !
0
kij_82 Messages postés 4260 Statut Contributeur 857
 
Est-ce que tu as bien lu et testé ce que je t'ai donné ? Car si ce n'est pas le cas je te conseille de le faire.
Et si tu l'as fait peux-tu me dire ce qu'il s'est passé ? (si ça ne fonctionne toujours pas)
0
dcourbiere Messages postés 6 Statut Membre
 
Désolé, je n'avais pas trop le temps !La c'est bon
J'ai mis setInterval("ouvrirFichier();",4000); à l'endroit ou tu m'as indiqué ( càd dans la fonction ouvrirfichier()) mais ça marche pas.
Mais quand je suprime les cookies et fichier Temporary Internet, que je quitte IE et que je relance IE ca me rafraichi ??
J'ai l'impression qu'il y a un prob avec le cache qu'en penses-tu ?:-(
0
kij_82 Messages postés 4260 Statut Contributeur 857
 
C'est surement parce que tu n'as pas raffaichi ta page correctement. Si tu fais un F5 simple, ça recharge ta page mais sans prendre en compte les éventuelles modifications dans le code de la page. Si tu fais Crtl+F5 (ou Maj+F5 je ne sais plus), ta page sera normalement raffraichie avec le nouveau code.

Si la ré-actualisation de ton texte fonctionne je pense que ton problème est donc résolu ? A moins que j'ai mal compris ton nouveau problème ?
0
dcourbiere Messages postés 6 Statut Membre
 
Ca ne marche pas ni avec Ctrl + F5 (pas MAj+F5 ). En fait j'ai fait des test et je me suis rendu compte que je n'ai pas besoin de supprimer les fichiers temporaire ou les cookis, si je quite IE et que je relance IE c'est bon ! Je ne comprend pas ce qui se passe!
Merci pour ton aide!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dcourbiere Messages postés 6 Statut Membre
 
up SVP
-1
dcourbiere Messages postés 6 Statut Membre
 
J'ai lu sur qqe site il parle de codage utf-8 avec IE et non avec Firefox ! J'ai pas compris grand chose !
-2