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地函數(shù)..想來應(yīng)該是formpanel地父類地參數(shù)..
后來去看了看ext.form.basic,果然有url配置項..
在ext中formpanel并中并不保存表單數(shù)據(jù),其中地數(shù)據(jù)是由basicform保存,在提交表單地時候需要獲取當(dāng)前formpanel中地basicform來進行提交.
在獲取basicform對象后便可進行表單地提交操作
因為要在項目中要用到2個組件,這2個組件唯一地差別是提交地url不一樣,故我在定義組件時沒有定義url這一項
然后在組件添加到不同容器時順便把不同地url也給上,以上面那個例子為例
在需要地地方
代碼如下:
panel.getform().url='../logselectservlet';//在不同地地方可以像這樣賦值不同地url
這種方法對于組件地重用是一個不錯地方法.
:
更多信息請查看IT技術(shù)專欄