javascript - 未捕获的类型错误 : Object [object Object] has no method 'submit' error in sencha touch 2. 1

标签 javascript sencha-touch

我在提交此表单时遇到问题。当我点击提交按钮时它显示 未捕获的类型错误:对象 [对象对象] 没有方法“提交”错误。

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'

                       }
                        ]
            }


});

我的 Controller

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

最后,您的 Controller 应该如下所示:

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

关于javascript - 未捕获的类型错误 : Object [object Object] has no method 'submit' error in sencha touch 2. 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15544237/

相关文章:

javascript - 为什么这个 Javascript 返回 undefined?

javascript - 在选择合适的 iOS Mobile Safari Web 开发工具(jQuery Mobile/Sencha Touch/等)时感到沮丧

javascript - Sencha Touch 垂直滚动问题

javascript - 在本地尝试 Sencha Touch 示例

animation - 在 Sencha Touch 中显示/隐藏带有幻灯片动画的工具栏

javascript - Angular JS - 如何在 ng-repeat 中添加额外的 DIV

javascript - 使用 Node.JS 和 TypeScript 的强类型数据库访问

javascript - 如何直接获取html文件名?

Javascript 增加输入结果并包含逗号

javascript - Phone gap 3.0 + sencha touch 在设备浏览器中打开 url