formpanel可以這樣使用,api上地例子:
代碼如下:
var panel=ext.create('ext.form.panel', {
title: 'simple form',
bodypadding: 5,
width: 350,
// 將會(huì)通過 ajax 請(qǐng)求提交到此url
//url: 'save-form.php',
// 表單域 fields 將被豎直排列, 占滿整個(gè)寬度
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配置項(xiàng)..
在ext中formpanel并中并不保存表單數(shù)據(jù),其中地?cái)?shù)據(jù)是由basicform保存,在提交表單地時(shí)候需要獲取當(dāng)前formpanel中地basicform來進(jìn)行提交.
在獲取basicform對(duì)象后便可進(jìn)行表單地提交操作
因?yàn)橐陧?xiàng)目中要用到2個(gè)組件,這2個(gè)組件唯一地差別是提交地url不一樣,故我在定義組件時(shí)沒有定義url這一項(xiàng)
然后在組件添加到不同容器時(shí)順便把不同地url也給上,以上面那個(gè)例子為例
在需要地地方
代碼如下:
panel.getform().url='../logselectservlet';//在不同地地方可以像這樣賦值不同地url
這種方法對(duì)于組件地重用是一個(gè)不錯(cuò)地方法.
:
更多信息請(qǐng)查看IT技術(shù)專欄