lyon_fanfan 2009-12-12 23:39
浏览 167
已采纳

求教公共form的写法

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

  • 写回答

1条回答 默认 最新

  • chanball 2009-12-14 16:33
    关注

    加一个状态位来判断执行什么动作,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]

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站