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

Ext JS / Sencha Discussion :

Attrapper un évènement dans un formPanel


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 99
    Par défaut Attrapper un évènement dans un formPanel
    Bonjour,

    J'ai une petite problématique qui me parait simple, je suis dans un formulaire et je voudrais attraper ("catcher") un évènement onFocus sur un champ text.

    En fait j'aurais aimé pouvoir coder ça dans la configuration de mes Items, mais il semble que ce ne soit pas la bonne méthode ou que je m'y prenne mal, et c'est là que je compte sur vous.

    Voici l'exemple de mon code:
    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
     
    ...
       var simple = new Ext.FormPanel({
            labelWidth: 100, 
            url:'form.php',
            frame:true,
            title: 'Simple Form',
            bodyStyle:'padding:5px 5px 0',
            width: 450,
            defaults: {width: 230},
            items: [{
    		xtype: 'numberfield',
                    fieldLabel: 'ID',
                    name: 'FIL_ID'
                },{
                    xtype : 'textfield',
                    fieldLabel: 'File Name',
                    name: 'FIL_NAME',
                    focus: alert('wohaaa') // C'est cette ligne qui m'intéresse
                }
            ],
    ...
    J'ai essayer un peu dans tous les sens, mais la plus part du temps mon alerte apparait lorsque j'appels mon formulaire.

    --> Est-ce qu'il est possible d'attraper un évènement de cette manière sur un champ texte (ou autre items)?


    D'avance merci pour votre aide.

  2. #2
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    Bonjour,

    Je pense que tu devrais pouvoir t'en sortir avec quelque chose de ce genre:
    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
    var monForm = new Ext.FormPanel({
            labelWidth: 100, 
            url:'form.php',
            frame:true,
    ....
    items: [{
    		xtype: 'numberfield',
                    fieldLabel: 'ID',
                    name: 'FIL_ID'
                },{
                    xtype : 'textfield',
                    id: 'monId' //Important pour récupérer ton item
                    fieldLabel: 'File Name',
                    name: 'FIL_NAME'
                }
            ],
    ...
    };
    
    
    //Gestion de l'event
    Ext.getCmp('monId').on('focus', function(item){
    alert('Focus sur mon item !');
    });
    ou bien comme ceci:
    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
     
    var monForm = new Ext.FormPanel({
            labelWidth: 100, 
            url:'form.php',
            frame:true,
    ....
    items: [{
    		xtype: 'numberfield',
                    fieldLabel: 'ID',
                    name: 'FIL_ID'
                },{
                    xtype : 'textfield',
                    fieldLabel: 'File Name',
                    name: 'FIL_NAME',
                    listeners : {
                                focus: function(item){
                                    alert('Focus sur mon item !');
                                }
                            }
                }
            ],
    ...
    };

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 99
    Par défaut
    J'avais écris exactement la même chose mais sans item:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    listeners : {
                                focus: function(item){ // ICI
                                    alert('Focus sur mon item !');
                                }
                            }
    C'était le petit truc qui me manquait, un grand merci à toi, le repas de ce midi aura meilleur goût grâce à toi ;-)))

    Bonne après mdi

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

Discussions similaires

  1. [C#]Remonter des événements dans des classes imbriquées
    Par Kcirtap dans le forum Windows Forms
    Réponses: 9
    Dernier message: 14/12/2013, 12h43
  2. Réponses: 10
    Dernier message: 21/02/2007, 20h16
  3. [CSS] Définir un évènement dans un CSS
    Par PierrotY dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 30/03/2005, 11h49
  4. Perte de gestionnaire d'événements dans une fenêtre
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 15
    Dernier message: 23/08/2004, 20h14
  5. Modifier un événement dans le code
    Par HT dans le forum Langage
    Réponses: 6
    Dernier message: 20/06/2003, 09h46

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