2010-06-02 12 views
0

TLDR Je souhaite ajouter du contenu dynamique dans une fenêtre/fenêtre Ext-JS.Contenu dynamique dans la fenêtre ExtJS


Actuellement j'ai essayé attribuer ce contenu à un div et en tirant sur le innerHTML de cette div comme:

   new Ext.Window({ 
       height: 50, 
       width: 160, 
       x: 0, 
       y: 30, 
       layout: "fit", 
       html: document.getElementById('output').innerHTML; 
      }).show(); 

je utilise jquery & getJSON pour obtenir les données dynamiques.

Mais cela ne fait rien du tout.
Est-ce que quelqu'un a déjà fait quelque chose de similaire? Puis-je donner un identifiant au html de la fenêtre et l'utiliser comme un élément?

+0

Ce code devrait fonctionner. –

+0

Ma réponse ci-dessous ne fonctionne pas ci-dessus. Il casse simplement complètement la fenêtre. – Sphvn

Répondre

1

Le code original aurait bien fonctionné. "Breaks complètement" n'est pas vraiment très utile pour décrire le problème. Cependant, si vous essayez de charger un balisage compliqué dans une fenêtre, l'utilisation de l'approche contentEl est probablement meilleure. Notez que la disposition: 'fit' dans la fenêtre est redondante, car vous n'avez aucun élément enfant.

+0

Aucun élément enfant dans mon exemple de toute façon: P. Il ne me permet pas de placer l'instruction javascript ci-dessus dans l'exemple. Il se bloque et brûle sans beaucoup d'erreur. – Sphvn

1

Vous pouvez enregistrer le contenu d'un div dans la fenêtre ou tout autre panneau, etc. à l'aide de la méthode contentEl.

contentEl: 'ElementID' 

Exemple:

   new Ext.Window({ 
        title: 'Measurement', 
        height: 50, 
        width: 160, 
        resizable: false, 
        closeAction: "hide", 
        x: 0, 
        y: 30, 
        layout: "fit", 
        contentEl: 'output' 
       }).show(); 
0

Pour obtenir des informations d'erreur plus détaillées, utilisez la version de débogage de Ext.js. Votre exemple devrait fonctionner, à moins que document.getElementById ('output'). InnerHTML n'existe pas lorsque vous essayez d'afficher votre fenêtre (ce que vous faites immédiatement lors de la création).

Questions connexes