FormPanel得到的值()不适用于sencha touch 2中的按钮点击事件?

时间:2013-05-25 12:46:40

标签: sencha-touch sencha-touch-2

我已经创建了一个FormPanel表单,用于在我们的数据库中提交一些记录。 FormPanel代码:

Ext.define('MyApp.view.NIForm', {
    extend: 'Ext.form.Panel',
    config: {
        id: 'NIForm',
        items: [
            {
                xtype: 'panel',
                items: [
                    {
                        xtype: 'textfield',
                        docked: 'left',
                        id: 'ORDNUM_39',
                        width: '95%',
                        label: 'Order#',
                        name: 'ORDNUM_39'
                    },
                    {
                        xtype: 'button',
                        docked: 'right',
                        itemId: 'browseOrder',
                        width: '5%',
                        text: '...'
                    }
                ]
            },
            {
                xtype: 'textfield',
                id: 'DESC',
                style: 'margin-top:2px;',
                label: 'Description',
                name: 'DESC'
            },
            {
                xtype: 'numberfield',
                id: 'TNXQTY_39',
                style: 'margin-top:2px;',
                label: 'Quantity',
                name: 'TNXQTY_39'
            },
            {
                xtype: 'panel',
                items: [
                    {
                        xtype: 'textfield',
                        docked: 'left',
                        style: 'margin-top:2px;',
                        width: '95%',
                        label: 'GL Code',
                        name: 'GLREF_39'
                    },
                    {
                        xtype: 'button',
                        docked: 'right',
                        width: '5%',
                        text: '...'
                    }
                ]
            },
            {
                xtype: 'textfield',
                id: 'REFDSC_39',
                style: 'margin-top:2px;',
                label: 'Reference',
                name: 'REFDSC_39'
            },
            {
                xtype: 'button',
                action: 'niProcess',
                itemId: 'mybutton3',
                style: 'margin-top:6px;',
                ui: 'confirm',
                text: 'Process'
            }
        ],
        listeners: [
            {
                fn: 'onBrowseOrderTap',
                event: 'tap',
                delegate: '#browseOrder'
            }
        ]
    }
});

现在我想在进程按钮点击事件中获取所有textfields值,以获取我按照代码行编写的formpanel值。

var me = this;
var form = this.getNIForm();
var values = form.getValues();
var record = form.getRecord();

你能告诉我我做错了什么吗?请解释一下。

3 个答案:

答案 0 :(得分:0)

添加了另一个监听器,它似乎工作正常。

listeners: [{
    fn: function () {
        console.info('sdfsd');
    },
    event: 'tap',
    delegate: '#browseOrder'
}, {
    fn: function () {
        console.info(this.getValues());
    },
    event: 'tap',
    delegate: '#mybutton3'
}]

Here is the fiddle

答案 1 :(得分:0)

如果要检索特定的TextField值,请使用

  

Ext.getCmp( 'ORDNUM_39')的getValue();

答案 2 :(得分:0)

要获取所有表单字段值,您可以使用

  

var form = this。 getNav ();

//如果你的控制器内的你的引用名称是 nav