在sencha touch 2.3中使用控制器的Sencha表单提交

时间:2014-01-25 16:56:37

标签: extjs sencha-touch sencha-touch-2

我有一个sencha应用程序,我在提交表单。 我在我的提交按钮标签事件中添加了一个监听器,并使用ajax提交了表单。

我想要的就是现在使用控制器提交表格。我该怎么办?

2 个答案:

答案 0 :(得分:0)

你可以:

Ext.define('Myapp.view.Form', {
    extend: 'Ext.form.FormPanel',
    xtype: 'my-form',

    config: {
        items: [
            {
                xtype: 'textfield'
                name: 'field1'
            }, {
                xtype: 'textfield',
                name: 'field2'
            }, {
                xtype: 'button',
                text: 'submit',
                handler: function() {
                    var form = this.getParent();
                    var values = form.getValues();
                    form.fireEvent('submitForm', values);
                }
        ]
};

...

Ext.define('Myapp.controller.Main', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            myForm: 'my-form'
        },

        control: {
            myForm: {
                submitForm: 'submitFn'
            }
        }
    },

    submitFn: function(values) {
        console.log(values);
    }
};

希望有所帮助 -

答案 1 :(得分:0)

你可以这样做 -

查看:

Ext.define('Myapp.view.Form', {
    extend: 'Ext.form.FormPanel',
    xtype: 'my-form',

    config: {
        items: [
            {
                xtype: 'textfield'
                name: 'field1'
            }, {
                xtype: 'textfield',
                name: 'field2'
            }, {
                xtype: 'button',
                text: 'submit',
                action: 'submitForm'
        ]
};

控制器:

Ext.define('Myapp.controller.Main', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            myForm : 'my-form',
            btnFormSubmit: 'my-form button[action=submitForm]'
        },

        control: {
            btnFormSubmit: {
                tap: 'onBtnFormSubmitTap'
            }
        }
    }, 

    onBtnFormSubmitTap: function() {
        var myForm = this.getMyForm();
        var values = myForm.getValues();
        myForm.Submit();
        console.log(values);
    }
};

您可以在提交方法上找到更多帮助,以查看myForm.Submit()选项: http://docs.sencha.com/touch/2.3.0/#!/api/Ext.form.Panel-method-submit

相关问题