sencha touch form - 单击“提交”时如何获取字段值

时间:2012-06-23 10:00:52

标签: extjs

我是sencha touch的新手,我做了一个简单的登录表单,并且接受用户的用户名和密码。当我单击提交时,表单的字段值将以JSON格式在javascript警报中查看。我在视图应用程序中创建我的表单。这是我的代码:

var formPanel = Ext.define('GS.view.Login', {
    extend: 'Ext.form.Panel',
    xtype: 'loginform',

    requires: [
        'Ext.form.FieldSet'],

    config: {
        title: 'Login',
        iconCls: 'home',
        url: 'authenticate_page.php',
        items: [{
            xtype: 'fieldset',
            title: 'Login',

            items: [{
                xtype: 'textfield',
                name: 'txt_username',
                label: 'Username'
            }, {
                xtype: 'passwordfield',
                name: 'txt_password',
                label: 'Password'
            }]
        }, {
            xtype: 'button',
            text: 'Allow me in',
            ui: 'confirm',
            handler: function () {
                var values = this.getValues();
                alert(values);
            }
        }]
    }
});

我尝试了一些方法,但这不起作用。请帮忙。

3 个答案:

答案 0 :(得分:2)

在按钮的handler

var values = this.getValues();
alert(values);

this指的是您的按钮,当然您的按钮不包含任何表单值。

要获取表单值,请执行以下操作:

handler: function() {
    var values = this.up('form').getValues();
    //or:
    //var values = formPanel.getValues();
    console.log(values);
}

结帐the documentation for Ext.form.Panel。它有足够的示例来指导您完成。

答案 1 :(得分:1)

您好,如果您想从特定字段获取值,则意味着始终使用

     Ext.getCmp('Username').getValue(),   // id of the field


     Ext.getCmp('Password').getValue(),

答案 2 :(得分:0)

您需要为表单元素添加“id”

            items: [
                {
                    xtype: 'textfield',
                    name: 'txt_username',
                    label: 'Username',
                    id: 'Username'
                },
                {
                    xtype: 'passwordfield',
                    name: 'txt_password',
                    label: 'Password'
                    id: 'Password'
                }
        ]

之后,您可以使用方法Ext.get(id);

获取值

例如

Ext.get('Username')
Ext.get('Password')