Je veux construire un arbre dynamiquement. (pour ceux que �a aide, �a repr�sente des soci�t�s, et pour chacune leurs filiales, sur plusieurs niveaux)
J'ai utilis� plusieurs m�thodes qui bloquent toutes au m�me endroit, et je ne vois pas comment passer le probl�me.
1 - en premier lieu je charge une liste d'items, de niveau 1 (c'est coldfusion qui g�n�re). �a �a marche bien
2 - quand je clique sur un petit "plus" � cot� d'une feuille, je d�plie. je vais chercher en ajax un fichier coldfusion "fils.cfm" qui me trouve les fils de la branche en cours. �a aussi �a marche.
3 - � ce moment, j'ai donc des branches de premier niveau, et des branches de second niveau. Les seconds niveau ont �t� charg�es par ajax.
4 - quand je veux utiliser le petit "plus", au niveau deux, �a ne fonctionne pas. En fait il n'y a pas d'appel � ma fonction ajax
J'ai pour l'instant tent� avec plusieurs m�thodes:
- getXhr() + innerHTML => �a affiche bien ce que je veux, mais le javascript ne fonctionne pas.
- jquery ($.ajax ou $.post) => �a affiche bien ce que je veux, mais le javascript ne fonctionne pas.
- getXhr() + createTextNode + appendChild => �a r�cup�re les donn�es, mais �a ne mets pas en forme
Je pr�cise que mes donn�es sont renvoy�es format�es par mon fichier fils.cfm (un div, contenant d'autres div, avec les icones, �v�nements...).
Les diff�rents topics que j'ai pu lire ici orientent vers le createElement. Mais je ne vois pas comment je peux l'utiliser dans mon cas.
Quand je l'utilise, je cr�� un div, puis je place mon texte re�u du getXhr() dedans, mais le html n'est alors pas interpret�.
Voici le js concernant le mode getXhr() + createTextNode + appendChild
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 function addChild(idSoc){ var xhr = getXhr() xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var montexte = document.createTextNode(xhr.responseText); montexte.innerHTML = xhr.responseText; document.getElementById("lev2_"+idSoc).appendChild(montexte); } } xhr.open("GET","fils.cfm?idSoc="+idSoc,true); xhr.send(null); } function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non support par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; }
Partager