IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Connaître le tab actif [Dojo]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Par défaut Connaître le tab actif
    Salut,

    Je cherche à savoir comment connaître le tab actif dans un TabContainer avec Dojo.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div dojoType="dijit.layout.TabContainer" region="center">
            <div dojoType="dojox.layout.ContentPane" id="bibliographie" title="Bibliographie">Essai 1</div>
            <div dojoType="dojox.layout.ContentPane" id="news" title="Actualité">Essai 2</div>
            <div dojoType="dojox.layout.ContentPane" id="synthese" title="Synthèse"></div>
        </div>
    Voici mes tabs.

    J'essaye au pif un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( dojo.byId("bibliographie").isSelected ) {
    //Code à effectuer
    }
    Mais le code n'est jamais exécuté, même si le tab en question est celui qui est sélectionné.

    Des pistes ?

    Merci,

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var leContentPaneSelectionne = idDuTabContainer.selectedChildWidget;
    ...

    ERE

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var leContentPaneSelectionne = idDuTabContainer.selectedChildWidget;
    ...

    ERE
    Merci pour la réponse.

    J'ai ajouté un id au tabContainer, mais je ne parviens toujours pas à récupérer cette information.

    La valeur retournée est "undefined".
    D'après la doc, selectedChildWidget est utilisable sur les StackContainers et sur les classes descendantes (Tabcontainer en est certainement une étant donné ses caractéristiques, bien que je n'aie pas vérifié cela)

    Donc il y a forcément quelque chose qui m'échappe...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script type="dojo/method" event="onClick" args="item">
                            var strUrl = "";
                            alert(dojo.byId("onglets").selectedChildWidget);
     
    </script>
    <div dojoType="dijit.layout.TabContainer" region="center" id="onglets">
            <div dojoType="dojox.layout.ContentPane" id="bibliographie" title="Bibliographie">Essai 1</div>
            <div dojoType="dojox.layout.ContentPane" id="news" title="Actualité">Essai 2</div>
            <div dojoType="dojox.layout.ContentPane" id="synthese" title="Synthèse"></div>
        </div>

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut ch'tite modif
    Essaie ainsi car selectedChildWidget n'est pas une propriété du DOM mais du widget dojo:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dijit.byId("onglets").selectedChildWidget

    ERE

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Par défaut
    Merci Emmanuel,

    Ca ne fonctionne pas, j'ai toujours de l'undefined.

    Du coup j'ai testé avec un code tout bête, et là ça fonctionne, donc ta solution est la bonne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <html>
    <head>
    <title>Dojo example</title>
    <style type="text/css">
      @import "dojo/dojo-release-1.2.3/dijit/themes/nihilo/nihilo.css";
    </style>
     
    <script type="text/javascript" src="dojo/dojo-release-1.2.3/dojo/dojo.js" djConfig="parseOnLoad:true, isDebug: false"></script>
    <script>
        dojo.require( "dijit.layout.TabContainer" );
        dojo.require( "dijit.layout.ContentPane" );
    </script>
    <body class="nihilo">
        <button dojoType="dijit.form.Button" id="bouton">Click
        <script type="dojo/method" event="onClick" args="item">
            alert(dijit.byId("onglets").selectedChildWidget);                    
        </script>
        </button>
    <div dojoType="dijit.layout.TabContainer" id="onglets">
        <div dojoType="dijit.layout.ContentPane" id="tab1" title="tab1">1</div>
        <div dojoType="dijit.layout.ContentPane" id="tab2" title="tab2">2</div>
        <div dojoType="dijit.layout.ContentPane" id="tab3" title="tab3">3</div>
    </div>
    </body>
    </html>
    Je n'ai plus qu'à cherche ce qui ne va pas donc mon propre code.
    Comme j'ai des containers qui s'imbriquent, et que leur contenu est passé par des href, je suppose qu'en fait le problème doit plutôt venir de là...

    EDIT : Juste après avoir posté ce message, j'ai fait un test sous IE7 (d'habitude je suis sous Firefox3), et sous IE7, mon code fonctionne... mais pas sous Firefox...
    En revanche, l'exemple ci-dessus fonctionne sous les 2 (quoique sous Firefox il ne m'affiche pas les tabs, )

    Bred, en 2009 on en est encore à faire du débugage pour chaque navigateur, ça me désole...

    EDIT 2:
    Juste après avoir édité ce message, j'ai retesté, et maintenant ça marche aussi sous Ffx...
    Note pour plus tard : Dans des cas comme ça, penser à vider le cache

    Ca me semble résolu, merci du coup de main !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Dojo] TabContainer: quel contentPane (tab) est actif (affiché) ?
    Par Lnhab dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 27/11/2009, 02h09
  2. Connaitre le tab actif
    Par Seiphir0the dans le forum JSF
    Réponses: 2
    Dernier message: 29/04/2009, 19h41
  3. Comment connaître le path du Workspace actif ?
    Par Pierre8r dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 06/09/2007, 10h04
  4. Réponses: 18
    Dernier message: 25/03/2007, 00h20
  5. connaître le numéro de l'onglet actif
    Par chourmo dans le forum Delphi
    Réponses: 8
    Dernier message: 18/07/2006, 16h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo