[Mootools] problème de classe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Mootools] problème de classe

[Mootools] problème de classe

par Yosh » 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.