Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Ajout dynamique d'onglet + contenu

Envoyé par : Utilisateur anonyme

Date : 26/01/2006 22:53

Bonjour,

J'essai de créer dynamiquement des onglets (la création dynamique de l'onglet fonctionne tres bien) mais à partir du moment ou je veux y insérer un élément, j'ai le message d'erreur suivant :

Erreur : document.getElementById(frameto) has no properties Fichier source : scripts.js Ligne : 51

Mon code est le suivant :

  var pere = document.getElementById(idpere);
  var newTab = document.createElement("tab");
  newTab.setAttribute("label", labfils);
  newTab.setAttribute("id", idfils);
  newTab.setAttribute("container", "true");
  var nframe = document.createElement("iframe");
  var nframename = idfils + "frame";
  nframe.setAttribute("id",nframename);
  nframe.setAttribute("src","http://www.yahoo.fr");
  var frameto = newTab.getAttribute("id");
  document.getElementById(frameto).firstChild.appendChild(nframe);
  document.getElementById("corps").firstChild.appendChild(newTab);
  • idpere est l'id du tabbox,
  • idfils est l'id (passé en paramètre) à assigner au nouvel onglet,

Au passage, comment supprimer un onglet, et donc son contenu dans le cas ou il s'agit de l'onglet en cours de sélection ou bien qu'il s'agisse d'un onglet autre (et donc à partir de son id).

Merci de votre aide,

# Re: Ajout dynamique d'onglet + contenu

Envoyé par : hhf

Date : 27/01/2006 22:50

syntaxe du tabbox :

<tabbox>
   <tabs id="id_tabs">
     -- les éléments tab viennent ici --
   </tabs>
   <tabpanels id="id_tabpanels">
     -- les éléments tabpanel viennent ici --
   </tabpanels>
</tabbox>
<script><![CDATA[
 function addTab(label) {
  var tabs = document.getElementById("id_tabs");
  var tabpanels = document.getElementById("id_tabpanels");
  var tab = document.createElement("tab");
  tab.setAttribute("id", "tab_"+label);
  var tabpanel = document.createElement("tabpanel");
  tabpanel .setAttribute("id", "tabpanel_"+label);
  tabs.appendChild(tab);
  tabpanels .appendChild(tabs);
 }
 
]]></script>

Voila, ca ca ne devrait plus generer d'erreur, mais par contre aucune garantie que ca fonctionne (click sur l'onglet => affichage du panel associé), j'avais essayé de generer des panel via RDF sans succés, les onglets ne affichaient pas le panel assoccié.

# Re: Ajout dynamique d'onglet + contenu

Envoyé par : Amaury

Date : 28/01/2006 01:06

Je crée tout plein de tabpanels dynamiquement, sans le moindre soucis avec XulRunner. Si tu respectes la syntaxe (cf. post précédent), tout devrait marcher comme sur des roulettes.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.