0

我是 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);
            }
        }]
    }
});

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

4

3 回答 3

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);
}

查看 Ext.form.Panel的文档。它有足够的例子来指导你。

于 2012-06-23T14:34:22.293 回答
1

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

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


     Ext.getCmp('Password').getValue(),
于 2013-04-03T06:53:51.370 回答
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')
于 2013-03-20T06:50:23.307 回答