Bonjour.
J'ai fais une fonction ajax, qui recoit un tableau de donnée à deux dimensions, et qui est cencé me changer le contenu de plusieur div dans ma page web.
La fonction :
Le tableau :
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 function ajaxTabSend(ajaxTab) { if(document.all) var XhrObj = new ActiveXObject("Microsoft.XMLHTTP"); else var XhrObj = new XMLHttpRequest(); for(i=0;i<ajaxTab.length;i++) { var content = document.getElementById(ajaxTab[i][3]); if(ajaxTab[i][2] == "GET") { if(ajaxTab[i][0] == 'null') XhrObj.open("GET", ajaxTab[i][1]); else XhrObj.open("GET", ajaxTab[i][1]+"?"+ajaxTab[i][0]); } else if(ajaxTab[i][2]== "POST") XhrObj.open("POST", ajaxTab[i][1]); XhrObj.onreadystatechange = function() { if (XhrObj.readyState == 4 && XhrObj.status == 200) content.innerHTML = XhrObj.responseText ; } if(ajaxTab[i][2] == "GET") XhrObj.send(null); else if(ajaxTab[i][2] == "POST") { XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); XhrObj.send(ajaxTab[i][0]); } } }
L'index 0 correspond aux données à traiter.
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 <script type="text/javascript"> var ajaxTab = new Array; var ajaxTab1 = new Array; var ajaxTab2 = new Array; ajaxTab1[0] = 'suppTicker=0'; ajaxTab1[1] = 'functions.php'; ajaxTab1[2] = 'GET'; ajaxTab1[3] = 'rapport'; ajaxTab2[0] = 'rubrique=rubTicker'; ajaxTab2[1] = 'functions.php'; ajaxTab2[2] = 'GET'; ajaxTab2[3] = 'rubrique'; ajaxTab[0] = ajaxTab1; ajaxTab[1] = ajaxTab2; </script>
L'index 1 correspond à la page à appeler.
L'index 2 correspond à la methode utiliser.
L'index 3 correspond à la div de destination.
Le souci que j'ai c'est que la fonction marche tres bien lorsque je met un alert(..); au debut de la boucle, mais lorsque je le retire la fonction ne me change que la premiere div (sous ie je precise, sous firefox rien ne se passe)
Est ce que quelqun peut me dire pourquoi ? si vous avez besoin d'autre precision dite le moi.
Merci de votre aide
Partager