求教公共form的写法

我有一个员工列表 下面有添加、修改两个按钮,点击添加按钮会弹出添加员工的AddForm 点击修改的按钮会弹出修改员工的form 因为这两个EditForm的布局是一样的 所以我想写成公用的 但是有些写法不会 请教大家一下:
他们的提交按钮事件应该如何动态赋值?
修改的界面肯定需要员工id,而添加界面不需要,这个id应该应该如何写呢?
谢谢,最好有个样例,刚学ext不久 ^_^

1个回答

加一个状态位来判断执行什么动作,id一般是以hidden出现,这样回显的时候就把id传过来就自己填上了,如下:
[code="js"]
var Employee = Ext.extend(Ext.FormPanel,{
action:null,//状态位
record:null,//修改的记录的信息
initComponent:function(){
this.items = [{name:'id',xtype:'hidden'},{...}];
this.buttons = [{text:'确定',scope:this,handler:function(){
if(action=='add')
this.save();
else if(action=='update')
this.update()
}}]
Employee.superclass.initComponent.call(this);
},
onRender : function(){
//如果是修改的话,一般要先加载原来的信息
if(this.action=='update'){
this.form.load({
params:{
id:this.record.id
}
})
}
Employee.superclass.onRender.call(this);
},
//添加
save : function(){},
//修改
update : function(){}
});
//创建添加表单
var addForm = new Employee({
action:'add'
});

//创建修改表单
var updateForm = new Employee({
action:'update'
});
[/code]

大概是这样,具体的你看着办吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!