Extjs 4 obtenir l'ID du formulaire

J'utilise Extjs 4.2, Le ci-dessous est le code. J'ai défini l'ID de formulaire, mais l'événement de bouton ne peut pas obtenir la valeur. la chose étrange est, quand je soumets le formulaire, il ira au côté du serveur et je peux obtenir la valeur du champ.

Comment à la valeur d'identification?

Ext.define('App.view.QuestionForm',{
    extend      : 'Ext.form.Panel',
    alias       : 'widget.QuestionForm',
    requires    : ['Ext.data.Store'],

    bodyPadding  : 5,  
    defaults  : {xtype  : 'textfield' },

    id: 'question_form',

    initComponent   : function(){
        var me = this;
        //me.id = 'question_form';

        me.items = me.buildItems();
        me.dockedItems = me.buildToolbars();
        me.callParent();
    },


    buildItems : function(){
        return [
        {
            fieldLabel: 'ID',  
            name: 'id',
            xtype: 'textfield', 
            anchor: '100%'
        },        
        ];
    },
    buildToolbars : function(){
        return [{
            xtype : 'toolbar',
            dock: 'top',
            items : [

            {
                xtype: 'button', 
                text:'Save', 
                handler: function(){
                    var form = this.up('form').getForm();
                     console.log("form :"+form.id); //undefined 

                    form.submit({url: 'rs/question/save'});                
                }
            },       


            ]
        }];
    }

});

Merci

0
Qu'avez-vous utilisé à la place du code ci-dessus? J'obtiens la même erreur undefined pour this.up ('formulaire'). GetForm ();
ajouté l'auteur Freakyuser, source

1 Réponses

Vous définissez l'ID du composant Ext.form.Panel . Donc, dans le gestionnaire, utilisez simplement:

var form = this.up('form');

pour obtenir l'instance du composant Ext.form.Panel .

Lorsque vous appelez la méthode getForm() du composant Ext.form.Panel , il renvoie le composant Ext.form.Basic sous-jacent qui n'a pas été défini ID.

0
ajouté