0

Panel内に埋め込まれたフォームを作成し、コントローラー内からフォームフィールドのコンテンツを取得しようとしています。

以下は私のビューとコントローラーコードです。

Ext.define('MyApp.view.SignIn', {
            extend: 'Ext.Container',
            requires: ['Ext.Button','Ext.form.Panel'],
            xtype: 'loginPage',

            config : {
                fullscreen: true,

                items: [
                {
                    docked: 'top',
                    xtype: 'titlebar',
                    html:'<img src="resources/icons/logo.png" />',
                    items: {
                                    iconMask: true,
                                    align: 'left',
                                    text: 'Sign In',


                                    handler: function(){

                                    var panel = Ext.create('Ext.Panel', {
                                             left: 0,
                                             padding: 10,                                   
                                             xtype: 'loginPage',
                                             url: 'contact.php',
                                             layout: 'vbox',
                                             id: 'signinform',

                                             items: [
                                                 {   
                                                            xtype: 'fieldset',
                                                            title : 'Enter Login Information:',
                                                            instructions: 'All fields are required',
                                                            layout: {
                                                                    type: 'vbox'
                                                            },                                              
                                                            items: [
                                                                {
                                                                    xtype: 'emailfield',
                                                                    name: 'Email',
                                                                    label: 'Email',
                                                                    placeHolder: 'Valid email'
                                                                },
                                                                {
                                                                    xtype: 'passwordfield',
                                                                    name: 'Password',
                                                                    label: 'Password',
                                                                    placeHolder: '6 characters'
                                                                }]
                                                  },
                                                  {                                            
                                                            layout: 'hbox',
                                                            items: [
                                                                 {
                                                                    xtype: 'button',
                                                                    text: 'Login',
                                                                    ui:'confirm',
                                                                    id:'Login-btn',
                                                                    width: '100px',
                                                                    flex: 1

                                                                  }, {
                                                                    width: '100px'
                                                                  }, {
                                                                    xtype: 'button',
                                                                    text: 'Register',
                                                                    ui: 'decline',
                                                                    width: '100px',
                                                                    flex: 1,
                                                                    handler: function(){                                                                
                                                                        this.getParent().getParent().destroy();                                                                                                                         
                                                                    }
                                                              }]//Buttons array

                                                   }//Form completion

                                            ]

                                        }).showBy(this); //Panel created


                                    }//Function complete                            
                    }
                },
                {
                    layout: {
                                type: 'vbox',
                                pack:'center',
                                align: 'center'
                    },
                    items:[{
                            html:'<h2>My tool</h2><h3 style="color:#F47621">Simple, intuitive and powerful data management tool.</h3>',
                            styleHtmlContent: true,
                    }
                    ]
                },
    ]
        },
         initialize: function() {
            this.callParent(arguments);
        },  
    });

そして、これが私のコントローラーコードです。コントローラーコードを確認したところ、フォームビューが単純で問題ないようでした。ですから、問題はビューにあると思います。

Ext.define("MyApp.controller.SignIn", {
    extend : 'Ext.app.Controller',

    config : {
        refs    : {
            home      : '#homePage',
            login     : '#loginPage',
            SignIn : '#signinform'
        },

        control : {
            '#Login-btn': {
                tap : 'onLoginButtonTap'
            }
        }
    },

    onLoginButtonTap: function() {
        var formValues = this.getSignIn().getValues();
        console.log(formValues.username);
        console.log(formValues.password);
    }
});
        ]
    },
     initialize: function() {
        this.callParent(arguments);
    },  
});

What is wrong with the form creation in the View page. Why is the form coming as undefined. Experts please help
4

2 に答える 2

0

ここ:

var panel = Ext.create('Ext.Panel', {
...

フォーム パネルではなく、単純なパネルをインスタンス化しています。あなたは言いたいかもしれません:

var panel = Ext.create('Ext.form.Panel', {
...
于 2012-06-20T15:26:44.017 に答える