我在提交此表格时遇到问题。当我单击提交按钮时,它显示
未捕获的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'
});
}
...