anapajari s/travail/glanding on hfr/gs; | dans ton sendData2 tu peux faire un alert de la réponse:
Code :
- //Ok pour la page cible
- XhrObj.onreadystatechange = function()
- {
- if (XhrObj.readyState == 4 && XhrObj.status == 200){
- content.innerHTML = XhrObj.responseText ;
- alert(XhrObj.responseText);
- }
- }
|
Histoire de voir ce que ça te retourne ( un peu dur de tester chez soi, même si tu donnes tout).
Par ailleurs comme te l'expliquais nargy, tout cela n'est pas très bien "penser", tu devrais avoir une seule fonction de connection.
Et puis un conseil, dans la mesure ou je n'imagine pas ton catalogue changé toutes les secondes, tu ferais mieux de récupérer tes trois tables d'un coup dans différents tableaux js et de ne plus traiter qu'avec ceux-ci.
Tu pourrais même ainsi eviter toute xmlHttpRequest qui sert pas à grand chose, je ferais un truc dans le genre:
Code :
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
- <head>
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- <title>Exemple</title>
- <script type="text/javascript">
- var sexe = new Array();
- //je mets des ids au pifs
- sexe['2'] = {'text':'Masculin'};
- sexe['6'] = {'text':'Feminin'};
- sexe['8'] = {'text':'Mixte'};
- var cat = new Array();
- cat['3'] = {'fk':'2', 'text':'Veste'};
- cat['7'] = {'fk':'8', 'text':'Tee-Shirt'};
- cat['9'] = {'fk':'6', 'text':'Jupe'};
- cat['12'] = {'fk':'2', 'text':'Calecon'};
- var art = new Array();
- art['1'] = {'fk':'3', 'text':'A'};
- art['2'] = {'fk':'3', 'text':'B'};
- art['3'] = {'fk':'3', 'text':'C'};
- art['4'] = {'fk':'3', 'text':'D'};
- art['5'] = {'fk':'3', 'text':'E'};
- art['6'] = {'fk':'7', 'text':'M'};
- art['7'] = {'fk':'7', 'text':'N'};
- art['8'] = {'fk':'7', 'text':'O'};
- art['9'] = {'fk':'9', 'text':'R'};
- art['10'] = {'fk':'9', 'text':'S'};
- art['11'] = {'fk':'9', 'text':'T'};
- function init(target, obj){
- var targetNode = document.getElementById(target);
- if ( targetNode != undefined){
- var table;
- eval('table = '+target);
- targetNode.innerHTML = '';
- var optNode = document.createElement('option');
- optNode.value = -1;
- optNode.appendChild(document.createTextNode(''));
- targetNode.appendChild(optNode);
- for(var i in table){
- if( (obj != undefined && table[i]['fk'] == obj.value) || obj == undefined) {
- optNode = document.createElement('option');
- optNode.value = i;
- optNode.appendChild(document.createTextNode(table[i]['text']));
- targetNode.appendChild(optNode);
- }
- }
- }
- }
-
- </script>
- </head>
- <body onload="init('sexe')">
- <select id="sexe" onchange="init('cat', this)"></select>
- <select id="cat" onchange="init('art', this)"></select>
- <select id="art"></select>
- </body>
- </html>
|
ça doit pas tout a fait faire ce que tu veux, mais l'idée est la et tu as juste en php a générer les tables en haut.
Maintenant si tu tiens absolument à faire de l'ajax, tu n'as pas grand chose à modifier, tu remplaces:
Code :
- var table;
- eval('table = '+target);
|
par var table = le resultat de ton xmlHttpRequest, et tu dois même pouvoir faire péter ce test: Code :
- if( (obj != undefined && table[i]['fk'] == obj.value) || obj == undefined) {
|
vu que ton XHR n'est censé remonter que les données correspondates. |