我有一个sencha应用程序,我在提交表单。 我在我的提交按钮标签事件中添加了一个监听器,并使用ajax提交了表单。
我想要的就是现在使用控制器提交表格。我该怎么办?
答案 0 :(得分:0)
你可以:
Ext.define('Myapp.view.Form', {
extend: 'Ext.form.FormPanel',
xtype: 'my-form',
config: {
items: [
{
xtype: 'textfield'
name: 'field1'
}, {
xtype: 'textfield',
name: 'field2'
}, {
xtype: 'button',
text: 'submit',
handler: function() {
var form = this.getParent();
var values = form.getValues();
form.fireEvent('submitForm', values);
}
]
};
...
Ext.define('Myapp.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
myForm: 'my-form'
},
control: {
myForm: {
submitForm: 'submitFn'
}
}
},
submitFn: function(values) {
console.log(values);
}
};
希望有所帮助 -
答案 1 :(得分:0)
你可以这样做 -
查看:
Ext.define('Myapp.view.Form', {
extend: 'Ext.form.FormPanel',
xtype: 'my-form',
config: {
items: [
{
xtype: 'textfield'
name: 'field1'
}, {
xtype: 'textfield',
name: 'field2'
}, {
xtype: 'button',
text: 'submit',
action: 'submitForm'
]
};
控制器:
Ext.define('Myapp.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
myForm : 'my-form',
btnFormSubmit: 'my-form button[action=submitForm]'
},
control: {
btnFormSubmit: {
tap: 'onBtnFormSubmitTap'
}
}
},
onBtnFormSubmitTap: function() {
var myForm = this.getMyForm();
var values = myForm.getValues();
myForm.Submit();
console.log(values);
}
};
您可以在提交方法上找到更多帮助,以查看myForm.Submit()
选项:
http://docs.sencha.com/touch/2.3.0/#!/api/Ext.form.Panel-method-submit