Page 1 sur 1

Problème d'arborescence JS !

Posté : 04 mars 2009, 18:48
par Aliasse
Salut à tous !
Je sais que mon problème va vous semblez similaire à d'autre mais j'ai beaucoup cherché et je ne trouve pas la solution a mon problème !
Le problème le voici : j'ai une page avec une arborescence créée via du JS (les champs de cette arborescence sont récupérés dans une BD ect...) mais je ne veux pas rafraichir ma page pour mettre a jour cet arbre ! Donc si j'ajoute une valeur dans ma base elle doit apparaitre dans cet arbre sans recharger la page.
Voila ou j'en suis au jour d'ajourd'hui :
J'ai un fichier chargé à l'ouverture de la page qui construit l'arborescence jusque la ok.
J'ai fait un petit lien pour quand je clic dessus recharge ce meme fichier dans mon div et la patatras pas d'interprétation du JS !
J'ai essayer sa :

Code : Tout sélectionner

eval('talert = function() {setInnerHTML(document.getElementById(containerTree), evaluContenu); }; talert();');
En sachant que evaluContenu est le contenu du fichier a charger dans le div nommé containerTree.
Je récupère ce contenu comme sa :

Code : Tout sélectionner

var contenu = global.recupContenu("vue/vuesElementaires/vueElementaireGestionnaireFichierPartiel.php");
Je sais que c'est pas la bonne facon de procéder mais je n'arrive pas a m'imaginer comment doit etre effectuer la chose, dans quel ordre !
J'ai donc besoin de vos lumières !!
Je vous remerci d'avance !

Posté : 05 mars 2009, 00:01
par Berzemus
La solution existe, mais n'est pas simple.

Elle passe par du javascript asynchrone, ou encore Ajax. En te documentant la dessus, tu verras de quoi il s'agit.

Sinon, tu peux utiliser un framework du type jquery ou prototype qui intègrent toute cette fonctionnalité, et te permettront d'arriver plus vite au résultat voulu.

Posté : 05 mars 2009, 09:33
par Aliasse
Salut, le coté ajax et tout sa je le maitrise le problème n'est pas la, je cherche juste a faire executer le code JS qui est dans la page a charger via l'ajax. J'ai la connaissance des bibliothèque que tu as citré mais malheuresement aucune ne m'a donné satisfaction...

Posté : 05 mars 2009, 11:27
par Berzemus
D'après ce que tu expliques, je ne pense pas que c'est du javascript on-demand que tu veux faire.

En gros, tu chercher à récupérer dynamiquement, en fond, du contenu du serveur, et de mettre à jour la page d'après ce contenu.

Le plus simple est d'utiliser le JSON comme méthode de transfert des données. Php intègre la fonction json_encode() pour encoder un tableau en json, et le javascript lit le json de façon naturelle (puisque c'est du javascript). Des méthodes comme getJSON() de Jquery facilitent grandemement le rapatriement de l'info.

Après, tu auras du côté JS un array qui contiendra toutes les informations que tu as chargé depuis ton serveur, et mettre la page à jour sera un jeu d'enfant.

Juste par curiosité, comment se présente les données que tu charges depuis le serveur ? Un JS généré par php ?

Posté : 05 mars 2009, 12:21
par Aliasse
Ouais c'est un JS généré via du PHP, le truc bateau quoi des requetes puis les résultats sont mis dans un tableau puis ce tableau PHP et converti en JS et puis ce tableau JS est donné a mangé a la fonction qui crée mon arborescence.
Ce qui me fait peur avec Json c'est que dans mon PHP je "formate" mon tableau parceque la fonction JS qui fait l'arbre a besoin d'une syntaxe précise du genre :

Code : Tout sélectionner

tabJs[1] = '2|1|Action|#';
J'ai peur de dveoir me retapper un formatage ect...
Disons que ce que je developpe sans cette reactualisation de l'arbre sert a rien... :? donc bon... mdr

Posté : 05 mars 2009, 13:31
par Berzemus

Code : Tout sélectionner

tabJs[1] = '2|1|Action|#';
Si la valeur est ainsi dans ton tableau php, elle sera ainsi quand tu la récupèreras côté JS: c'est une simple chaine, il n'y a pas de raison qu'il se transforme en tableau entre deux.

Essaye, et tu verras bien ce que ça donne
:wink:

Posté : 05 mars 2009, 14:21
par Aliasse
Je vais essayer avec json_encode () mais une fois fait sa je recupère comment dans le JS ?