[Mootools] problème de classe

Mammouth du PHP | 568 Messages

08 sept. 2008, 20:17

Bonjour,

Je travaille depuis quelques jours sur un prototype de Datagrid inspirer du lien suivant http://impact.accountbuilder.com/AB2/fl ... html?moo=y

Mon code est découper en deux partie pour le moment; la première est une classe php grossière appelé datagrid qui me permet de générer le HTML,
  class Datagrid {			
    function Datagrid($id) {
      /* 
      CODE HTML DU DATAGRID
      on ajoute le $id dans l'id des éléments html pour n'avoir qu'un seul élément nommé ainsi dans toute la page
      */
    }
  }
la seconde partie est une classe Javascript basé sur le framework Mootools en version 1.2,

Code : Tout sélectionner

var Datagrid = new Class({ initialize: function(options) { datagrid = this; this.options = options || { }; //charge les données this.load_data(); }, load_data: function() { new Request({ url: 'test_ajax.php', method: 'post', onSuccess: function(responseText) { //remplacement du contenu de mon data grid par les données réceptionné } }).send("id="+datagrid.options.id); } )};
Une fois ces deux classe créées, je m'attaque à l'instanciation de celles-ci en commencant par le php
    new Datagrid("clients");    
J'instancie ensuite ma classe javascript lorsque le DOM est chargé

Code : Tout sélectionner

document.addEvent("domready", function() { var datagrid_clients = new Datagrid({ id: "clients" // défini le suffixe des éléments HTML utilisé par le PHP }); });
Jusque là aucun problème tout fonctionne bien et les données sont bien chargés dans le datagrid.

Maintenant j'aimerai instancier deux datagrids dans ma page, je fais donc
  new Datagrid("clients");
echo "<br>";
new Datagrid("contacts");
pour générer deux container HTML ayant chacun un id différent.

Et ensuite le code javascript pour chargé les données

Code : Tout sélectionner

document.addEvent("domready", function() { var datagrid_clients = new Datagrid({ id: "clients" // défini le suffixe des éléments HTML utilisé par le PHP }); var datagrid_contacts = new Datagrid({ id: "contacts" // défini le suffixe des éléments HTML utilisé par le PHP }); });
Mais là, il y a un problème, le chargement se fait bien dans le second datagrid mais plus dans le premier, comme si la seconde instance avait écrasé ma première instance.

L'erreur doit être grosse comme une maison mais j'y vois plus rien xp

Le premier qui trouve à droit de voir le résultat final ^^

Héhé vous l'aurez compris j'attend votre aide.