我在提交此表格时遇到问题。当我单击提交按钮时,它显示
 未捕获的TypeError:对象[object Object]没有方法'submit'error。

submitcontactform :function()
    {

        var form= this.getLoginform();
        form.submit({
            url:'contact.php'
        });
    }


提前致谢

编辑:

我的login.js

Ext.define('sencha.view.Login',{
            extend:'Ext.Panel',
            xtype:'LoginPanel',
            id:'loginform',
            config:{
                title:'LoginForm',
                items: [
                        {
                            xtype: 'emailfield',
                            name : 'email',
                            label: 'Email'

                        },
                        {
                            xtype: 'passwordfield',
                            name : 'password',
                            label: 'Password'

                        },
                        {
                            xtype:'button',
                            text:'Submit',
                            ui:'confirm',
                            action:'submitForm'

                       }
                        ]
            }


});


我的控制器

Ext.define('sencha.controller.main',{
    extend:'Ext.app.Controller',

    views :['MainView','Login'],
    config:
    {
        refs:

         {
    loginform:'#loginform'
             //selector:'#buttonform'
         }

    },
    init: function(){

        this.control({
            'button[action=submitForm]':{
            tap:'submitcontactform'
        }

        });

    },
    submitcontactform :function(btn)
    {
        //console.log('im a function');
        //var form= this.getLoginform();
        var form=btn.up('formpanel');
        form.submit({
            url:'contact.php'
        });
    }
});


和我的app.js

Ext.application({
    name:'sencha',
    controllers : ['main'],

    views :['MainView','Login',''],
    //stores: ['presidentstore'],
    //models: ['presidentmodel'],
    launch:function(){
            Ext.create('sencha.view.MainView');
                //Ext.Viewport.add({
                //  xclass:'sencha.view.presidentlist'
                //});

    }

});

最佳答案

您的LoginPanel有问题。您的id应该在您的config内部。话虽如此,我建议改用itemId。您的LoginPanel应该看起来像这样:

Ext.define('sencha.view.Login',{
        extend:'Ext.Panel',
        xtype:'LoginPanel',
        config:{
            title:'LoginForm',
            itemId: 'loginform',
            items: [
                    {
                        xtype: 'emailfield',
                        name : 'email',
                        label: 'Email'
                    },
                    {
                        xtype: 'passwordfield',
                        name : 'password',
                        label: 'Password'
                    },
                    {
                        xtype:'button',
                        text:'Submit',
                        ui:'confirm',
                        action:'submitForm'
                   }
              ]
        }
});


最后,您的控制器应如下所示:

...
config:{
    refs:{
        loginform:{
            autoCreate: true,
            selector:'#loginform',
            xtype: 'LoginPanel'
        }
    },

    control : {
        'button[action=submitForm]' : {
            tap : "submitcontactform"
        }
    },
},

submitcontactform :function(btn) {
    //console.log('im a function');
    var form= this.getLoginform();
    form.submit({
        url:'contact.php'
    });
}
...

07-26 06:41