方式一:
小型的项目中
main.js文件中
Ext.onReady(function(){
var reader = new Ext.data.JsonReader({},[
{name: 'text', type: 'string'},
{name: 'number', type: 'float'},
{name: 'date', type: 'date', dateFormat: 'Y-m-dTH:i:s'},
{name: 'combo', type: 'int'}
]);
var form = new Ext.form.FormPanel({
labelAlign: 'right',
title: 'form',
labelWidth: 50,
buttonAlign: 'center',
frame:true,
//提交url
url: 'form2.jsp',
width: 280,
reader: reader,
items: [{
xtype: 'textfield',
fieldLabel: '文本',
name: 'text'
},{
xtype: 'numberfield',
fieldLabel: '数字',
name: 'number'
},{
xtype: 'datefield',
fieldLabel: '日期',
name: 'date'
},{
xtype: 'combo',
fieldLabel: '下拉',
name: 'combo',
store: new Ext.data.SimpleStore({
fields: ['value', 'text'],
data : [
[1, 'text1'],
[2, 'text2'],
[3, 'text3']
]
}),
mode:'local',
triggerAction: 'all',
valueField: 'value',
displayField: 'text'
}],
buttons: [{
text: '提交',
handler: function() {
form.getForm().submit();
}
}, {
text: '读取',
handler: function() {
//读取url
form.getForm().load({url:'10-01.txt'});
}
}]
});
form.render("form");
});
方式二:
大型的项目
main.js文件中
Ext.onReady(function() {
var myPanel = new FormPanel({
// detailObjectId:null
detailObjectId:'wl'
});
myPanel.render(Ext.getBody());
});
FormPanel = function(config) {
FormPanel.superclass.constructor.call(this, Ext.apply(config,{
detailObjectId:config.detailObjectId
}));
};
在formpanel.js文件中
Ext.extend(FormPanel,Ext.form.FormPanel, {
labelAlign: 'right',
title: 'form',
labelWidth: 50,
buttonAlign: 'center',
frame:true,
url: 'form2.jsp',
width: 280,
reader: this.reader,
buttons: [{
text: '提交',
handler: function() {
// form.getForm().submit();
alert('tijiao');
}
}, {
text: '读取',
handler: function() {
//读取url
alert('duqu');
// Ext.getCmd('form').getForm().load({url:'10-01.txt'});
}
}],
initform:function(){
if(this.detailObjectId!=null){
// 新增detailObjectId为空,修改detailObjectId不为空
var _self = this;
alert("modify"+this.detailObjectId);
// 要是修改,就初始化界面,通过传递detailObjectId,调用dwr,ajax从后台数据库中获取数据。
// 执行页面初始化操作
}else{
alert("new");
}
},
initComponent : function() {
var reader = new Ext.data.JsonReader({},[
{name: 'text', type: 'string'},
{name: 'number', type: 'float'},
{name: 'date', type: 'date', dateFormat: 'Y-m-dTH:i:s'},
{name: 'combo', type: 'int'}
]);
this.items=[{
xtype: 'textfield',
fieldLabel: '文本',
name: 'text'
},{
xtype: 'numberfield',
fieldLabel: '数字',
name: 'number'
},{
xtype: 'datefield',
fieldLabel: '日期',
name: 'date'
},{
xtype: 'combo',
fieldLabel: '下拉',
name: 'combo',
store: new Ext.data.SimpleStore({
fields: ['value', 'text'],
data : [
[1, 'text1'],
[2, 'text2'],
[3, 'text3']
]
}),
mode:'local',
triggerAction: 'all',
valueField: 'value',
displayField: 'text'
}];
this.initform();
FormPanel.superclass.initComponent.call(this);
}
});
Ext.reg('FormPanel', FormPanel);