formpanel可以这样使用,api上地例子:
代码如下:
var panel=ext.create('ext.form.panel', {
title: 'simple form',
bodypadding: 5,
width: 350,
// 将会通过 ajax 请求提交到此url
//url: 'save-form.php',
// 表单域 fields 将被竖直排列, 占满整个宽度
layout: 'anchor',
defaults: {
anchor: '100%'
},
// the fields
defaulttype: 'textfield',
items: [{
fieldlabel: 'first name',
name: 'first',
allowblank: false
},{
fieldlabel: 'last name',
name: 'last',
allowblank: false
}],
// 重置 和 保存 按钮.
buttons: [{
text: '重置',
handler: function() {
this.up('form').getform().reset();
}
}, {
text: '保存',
formbind: true, //only enabled once the form is valid
disabled: true,
handler: function() {
var form = this.up('form').getform();
if (form.isvalid()) {
form.submit({
success: function(form, action) {
ext.msg.alert('保存成功', action.result.msg);
},
failure: function(form, action) {
ext.msg.alert('操作失败', action.result.msg);
}
});
}
}
}],
renderto: ext.getbody()
);
再看api,formpanel竟然没有url地配置,也没有获的api地函数..想来应该是formpanel地父类地参数..
后来去看了看ext.form.basic,果然有url配置项..
在ext中formpanel并中并不保存表单数据,其中地数据是由basicform保存,在提交表单地时候需要获取当前formpanel中地basicform来进行提交.
在获取basicform对象后便可进行表单地提交操作
因为要在项目中要用到2个组件,这2个组件唯一地差别是提交地url不一样,故我在定义组件时没有定义url这一项
然后在组件添加到不同容器时顺便把不同地url也给上,以上面那个例子为例
在需要地地方
代码如下:
panel.getform().url='../logselectservlet';//在不同地地方可以像这样赋值不同地url
这种方法对于组件地重用是一个不错地方法.
:
更多信息请查看IT技术专栏