Extjs - 从Window到Panel和Panel到Window获取价值

时间:2015-07-16 10:10:24

标签: javascript extjs extjs4

我创建了一个面板并放入了窗口。当我在Window中单击OK按钮时,我可以获得面板的值。

            var FormPanel = Ext.create('Ext.form.Panel', {
                id: 'formpanel',
                frame: true,
                renderTo: Ext.getBody(),

                xtype: 'radiogroup',
                fieldLabel: 'Show',
                layout: 'vbox',
                items:

                     {
                    xtype: 'radiogroup',
                    layout: 'hbox',
                    items: [{
                        xtype: 'radiofield',
                        fieldLabel: 'PAN Number*',
                        margin: "20 0 0 0",
                        name: 'rb',
                        inputValue: '1',
                        checked: false,
                        listeners: {
                            change: function(cb, nv, ov) {
                                if (nv) {
                                    Ext.getCmp('AttachData').disable();
                                    Ext.getCmp('PanData').enable();
                                }
                            }
                        }
                    }, {
                        xtype: 'splitter'
                    }, {
                        xtype: 'textfield',
                        emptyText: 'Enter Owner\'s PAN...',
                        margin: "20 0 0 0",
                        id: 'PanData',
                        disabled: false
                    }, ]
                },
            });

            var winPanDetails = Ext.create('Ext.window.Window', {
                height: 250,
                width: 400,
                id:'winPanDetails',
                layout: 'fit',
                modal: true,
                closable: true,
                title: 'Document Attach',
                items: [FormPanel],
                constrain: true,
                renderTo: Ext.getBody(),
                buttons: [{
                    width: 50,
                    text: 'OK',
                    id: 'btnOk',
                    handler: function() {

                        if (Ext.getCmp('PanData').value == "") {
                            Ext.Msg.alert("Tax Benefit Declaration", "Please Pan Number");
                            return;
                        } else {
                            this.up('window').close();

                        }
                    }
                }]
            }).show();

我需要将此窗口插入我的主面板......

Ext.create('Ext.form.Panel', {
    renderTo: 'container',
    title: 'Main Panel',
    defaultType: 'textfield',
    id: 'mainPanel',
    bodyPadding: 10,
    width: 780,
    defaults: {
        labelWidth: 100
    },
    items: [
    {
     //Some more fields
      button:[{
                    width: 50,
                    text: 'OK',
                    id: 'btnOk',
                    handler: function() {
                      //My Window
                 }
            }]
    },

但插入后我无法从主面板中获取窗口的值。我尝试了很多逻辑,请帮我解释逻辑

 if (Ext.getCmp('PanData').value == "") {
                Ext.Msg.alert("Tax Benefit Declaration", "Please enter  pan number");
                return;
            }

我无法获得Ext.getCmp('PanData')的值。窗口外的值

1 个答案:

答案 0 :(得分:0)

为什么不使用记录加载到表单中?提交表格后,您再次从商店获得记录?您不应该使用输入来获取值,而是迁移并使用存储在存储中的记录..