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 :

dojo 1.5.0 Créer dynamiquement autant d'objets dijit.form.dateTextBox que nécessaire [Dojo]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut dojo 1.5.0 Créer dynamiquement autant d'objets dijit.form.dateTextBox que nécessaire
    Bonjour,

    Je dois être une des rares grandes débutantes en Dojo à oser poser ma question ici :

    Je fais un formulaire où quand la personne clique n phases, doit se développer dans la zone de formulaires n sous-formulaires, du type

    OBJET MACHIN

    phase 1
    Intitulé
    Début
    Fin
    Application liée
    Url de l'application liée

    phase 2
    Intitulé
    Début
    Fin
    Application liée
    Url de l'application liée

    Vous voyez le genre ?

    Pour ce, il me faut pour les champs début et fin créer dynamiquement des dijit.form.dateTextBox.
    J'ai bien songé à faire une recherche du type "dijit.form.dateTextBox programmatic" mais je n'ai pas su trouver ce qui correspond à mon besoin dans la doc Dojo...
    C'est mon premier widget Dojo, (que je suis parvenue à créer en mode "declarative"), merci de votre indulgence.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour et bienvenue sur le forum Dojo.

    Dans la doc officielle, si vous suivez le chemin dijit -> from -> DateTextBox, vous obtenez des bouts de codes et des indications.

    Par exemple, vous devez préciser cette instruction en début de fichier js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dojo.require("dijit.form.DateTextBox");
    Ce qui vous permettra d'utiliser ce composant. Et pour créer l'élément, c'est cette syntaxe-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var foo = new dijit.form.DateTextBox(/* Object */ args);
    Ils vous donnent un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new dijit.form.DateTextBox({value: new Date(2009, 0, 20)})
    Qui correspond à :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input dojotype='dijit.form.DateTextBox' value='2009-01-20'>

  3. #3
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Merci Vermine,
    J'essaie d'appliquer, mais je dois encore rater des choses :

    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
    			/**************************************
    			BLOC DEBUT
    			**************************************/
    			labDebut.setAttribute('for','myDate');
     
    			//firefox
    			labDebut.setAttribute("class","champF");
    			//IE
    			labDebut.setAttribute("className","champF");
    			labDebut.innerHTML='Début';
     
    			var debut=new dijit.form.DateTextBox({
    				value: new Date(2011,6,29),
    				id: 'debut_'+num
    			})
     
    			divPhases.appendChild(labDebut);
    			divPhases.appendChild(debut);
    			divPhases.appendChild(br3);
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Par défaut
    Bonjour et bienvenue,

    Avez-vous un message d'erreur lorsque ce script est exécuté ?
    Avez vous ajouté le parseOnLoad lors du chargement de la bibliothèque dojo ?

  5. #5
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bonjour,

    Cette fois, cela fonctionne, en ajoutant le second paramètre (du noeud).
    Mais le problème, c'est que je veux d'abord faire le appendChild du label, puis du champ date (debut) puis du saut de ligne.

    Je sais, tout ça n'est pas élégant...

    Avec le code ci-dessous, il zappe le label... et j'ai enfin mon champ date, mais en premier dans le divPhases, alors que je le voulais en second...

    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
    			/**************************************
    			BLOC DEBUT
    			**************************************/
    			labDebut.setAttribute('for','debut_'+num);
     
    			//firefox
    			labDebut.setAttribute("class","champF");
    			//IE
    			labDebut.setAttribute("className","champF");
    			labDebut.innerHTML='Début';
    			divPhases.appendChild(labDebut);
     
    			dojo.require("dijit.form.DateTextBox");
    			var debut=new dijit.form.DateTextBox({
    				value: new Date(2011,6,29),
    				id: 'debut_'+num
    			},divPhases);
    			divPhases.appendChild(br3);
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Daniel_Gibot Voir le message
    Bonjour et bienvenue,
    Avez vous ajouté le parseOnLoad lors du chargement de la bibliothèque dojo ?
    Voici ce qui concerne dojo dans la balise head.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		<!-- DOJO-->
    		<link rel="stylesheet" type="text/css" href="../js/dijit/themes/claro/claro.css"/>
             <script type="text/javascript" src="../js/dojo/dojo.js" djConfig="parseOnLoad: true">
    			dojo.require("dijit.form.DateTextBox");
            </script>
            <style type="text/css">
                .claro table.dijitCalendarContainer { margin: 25px auto; } #formatted
                { text-align: center; }
            </style>
    		<!-- FIN DOJO-->
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  7. #7
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Par défaut
    Avec le code ci-dessous, il zappe le label... et j'ai enfin mon champ date, mais en premier dans le divPhases, alors que je le voulais en second...
    Et en creant un bloc div qui contient les div dans lesquels positionner vos champs ?

    La règle des objets Dojo c'est "un objet html pour un objet dojo".
    Donc avec un div principal qui contient un div pour labDebut, un div pour la dateBox et un div pour br3 ça devrait passer...


    PS : En rajoutant après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parseOnload:true,isDebug:true
    vous aurez un debugger pour tout ce qui est conflit d'id ou absence d'objet pour IE

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

Discussions similaires

  1. [Dojo] evenement onChange sur dijit.form.ComboBox et dijit.form.DateTextBox en JS
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 30/11/2010, 12h59
  2. [Dojo] Format de dijit.form.datetextbox
    Par karenv5 dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 29/07/2010, 13h30
  3. [Dojo] Créer dynamiquement un layout pour Grid
    Par okilele dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 31/08/2009, 11h11
  4. [MFC] Créer dynamiquement une classe
    Par vanitom dans le forum MFC
    Réponses: 9
    Dernier message: 11/12/2004, 13h23
  5. Réponses: 4
    Dernier message: 13/05/2004, 13h15

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