Bonjour,

Je rencontre un ptit soucis, je souhaite actualiser par l'ajax les coordonnes d'un DIV toutes les 2 secondes. (il y aura au final plein de div)
(J'espère être clair dans mes explications)
J'ai créer donc une classe en javscript.

voici la partie HTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<div name='box1' id='box1'></div>
<div name='box2 > etc.....
 
<script>
 var mDossier1 =  dossiertype(1);
 var mDossier2 =  dossiertype(2);
</script>
Voici le script :
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
// la classe :
function dossiertype(a) {

  this.SendGetRequest=function() {
   var cde=document.getElementById("cbox"+a).value;
   var xhr_url = 'ajax/lirecoo.asp?a='+a+'&cde='+cde; //page qui récupère les coordonnees X Y de la DIV en question

   if ( window.XMLHttpRequest ) {
		// Objet XmlHttpRequest pour les moteurs GECKO
		xhr_object = new XMLHttpRequest();   
	} else if ( window.ActiveXObject ) {
		// Objet XmlHttpRequest pour Internet Explorer
		xhr_object = new ActiveXObject( 'Microsoft.XMLHTTP' );   
	} else {
		// Navigateur non-compatible
		alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );   
		return;
	}
	// On ouvre la requete vers la page désirée
	xhr_object.open('GET', xhr_url, true );
	// On lui donne le pointeur de fonction de retour
	xhr_object.onreadystatechange = this.CallBackRequest;
	// On envoi la requete
	xhr_object.send( null );
    return true;
}

  this.CallBackRequest=function() {
    
	// Sur le retour de la requete, on teste son état
    if ( xhr_object.readyState == 4 ) {

		// On injecte notre retour dans la DIV prevue a cet effet
	    valeur = xhr_object.responseText;
	    x=valeur.substring(0,valeur.indexOf(","));
		y=valeur.substring(valeur.indexOf(",")+1,valeur.indexOf(";"));
		a=valeur.substring(valeur.indexOf(";")+1,valeur.length);
		//alert('x :' + x + ' y: ' + y);
		if (x!=0 && y!=0) {
		 document.getElementById("box"+a).style.top=y;
         document.getElementById("box"+a).style.left=x;
        }
       setTimeOut("this.SendGetRequest();", 2000); // Reatualisation auto 2 sec
	}
 }// Fin callBack

}
Le rappel de cette fonction : this.SendGetRequest(); ne semble pas fonctionne et je ne trouve pas pourquoi !

Le but final serait d'avoir sur deux postes différents la même application, lorsqu'un DIV est déplacé, cela le déplace automatiquement sur l'autre poste.

Merci pour aide.