0

私はsenchatouchを初めて使用し、ユーザーからのユーザー名とパスワードを受け入れる簡単なログインフォームを作成します。[送信]をクリックすると、フォームのフィールド値が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 に答える