Bonjour.
Etant débutant en Ajax, je me suis basé sur du code d'un tutoriel pour modifier une de mes pages.
Mon objectif est de réactualiser une dizaine de champs (cellules d'un tableau) toutes les X secondes. Pour la partie "timeout", je verrais plus tard, pour l'instant, je simule avec du "onclick".
Je récupère les valeurs de mes champs à actualiser par du requetage mysql avec PHP. Mon code ci-dessous ne me permet que de gérer un seul champ par la biais d'"updatepage". Je pensais à priori modifier ma fonction updatepage() pour y mettre 10 arguments correspondants aux 10 champs que j'ai à mettre à jour.
-> Comment gérer ces 10 valeurs différentes (a la place du responseText - ou utilisé différemment)?
-> Dois-je essayer de lancer ma fonction de requetage PHP avec javascript et récuperer les valeurs des variables PHP (possible ???) ?
-> Puis-je/dois-je lancer 10 fois un open sur mon objet avec à chaque fois une page différente qui me donnera un champ différent (en segmentant mon requetage) ?
Voici mon 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 function xmlhttpPost(strURL) { var xmlHttpReq = false; var self = this; var self2 = this; // Mozilla/Safari if (window.XMLHttpRequest) { self.xmlHttpReq = new XMLHttpRequest(); } // IE else if (window.ActiveXObject) { self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); } self.xmlHttpReq.open('POST', strURL, true); self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); self.xmlHttpReq.onreadystatechange = function() { if (self.xmlHttpReq.readyState == 4) { updatepage(self.xmlHttpReq.responseText); } } self.xmlHttpReq.send(getquerystring()); } function getquerystring() { var form = document.forms['mailerform']; qstr = 'message' ; // Remarque: pas de '?' avant la chaîne de requête return qstr; } function updatepage(str){ document.getElementById("locloc").innerHTML = str; }
Partager