zhjt_88 2014-12-26 13:30 采纳率: 0%
浏览 2101

extjs创建问题显示不正常

图片说明
图片说明
我用extjs创建一个FieldSet,当第一次创建form的时候 可以 正常显示,第二次就不行了,请高手帮忙看看为什么
谢谢,代码如下:
var normalFieldSet = new Ext.form.FieldSet({

name: 'normalFieldSet',

id: 'normalFieldSet',

columnWidth:.33,

layout:'form',

xtype:'fieldset',

autoHeight:true,

style:'margin-left:10px',
anchor:'100%',

hidden:false,
items: [{
xtype : 'textfield',
name : 'percent_num1',
id : 'percent_num1',
fieldLabel: '绩效等级a(%)',
allowBlank: false,
width:50
}
,{
xtype : 'textfield',
name : 'percent_num2',
id : 'percent_num2',
fieldLabel: '绩效等级b(%)',
allowBlank: false, width:50
}
,{
xtype : 'textfield',
id : 'percent_num3',
name : 'percent_num3',
fieldLabel: '绩效等级c(%)',
allowBlank: false, width:50
}
,{
xtype : 'textfield',
id : 'percent_num4',
name : 'percent_num4',
fieldLabel: '绩效等级d(%)',
allowBlank: false,width:50
}]

});

    var form = Ext.create('Ext.form.Panel', {
        id : 'setScoreLevel__form',
        layout: 'anchor',
        defaults: {
            anchor: '100%'
        },
        frame: true,
        border: false,
        url: method('setScoreLevel'),
        fieldDefaults: {
            labelAlign: 'left',
            labelWidth: 120,
            //maxLength: 300,
            allowBlank: false,
            //enforceMaxLength: true
        },
        //defaultType: 'textfield',
        items: [
        {
        name: 'id',
        allowBlank: true,
        hidden: true
        },
        {
            xtype : 'combo',
            name: 'level_type',
            value:1,
            fieldLabel: '强制分布类型',
            allowBlank: true,
            queryMode: 'local',
            store : Ext.create('AA.store.StoreLevel', {}),
            valueField :'id',      
            displayField: 'name',
            listeners : {
                            select : function(combo, record, index){  
                                var level_type = record[0].data.id; 







                            }
                        }
        }, {
            xtype : 'combo',
            value:new Date().getFullYear(),
            name: 'year',
            fieldLabel: '选择年份',
            allowBlank: true,
            queryMode: 'local',
            store : Ext.create('AA.store.FileYear', {}),
            valueField :'id',      
            displayField: 'name'
        },normalFieldSet
        ],
        buttons: [{
            text: '保存',
            handler: function() {
                var form = this.up('form').getForm();
                var win_form = this.up('window');
                if (form.isValid()) {

                    form.submit({
                        params: form.getValues(true),
                        waitMsg: '保存中,请稍候...',
                        success: function(form, action) {
                            form.reset();
                            win_form.hide();
                            store.load();
                            Ext.Msg.show({title: '信息',icon: Ext.MessageBox.INFO,msg: action.result.msg,buttons: Ext.MessageBox.OK,closable: false});
                        },
                        failure: function(form, action) {
                            //alert("ddd");
                            Ext.Msg.show({title: '错误',animateTarget:win_form,icon: Ext.MessageBox.ERROR,msg: action.result.msg,buttons: Ext.MessageBox.OK,closable: false});
                        }
                    });
                }
            }
        }, {
            text: '取消',
            handler: function() {
                this.up('form').getForm().reset();
                this.up('window').hide();
            }
        }]
    });
    this.win_form = Ext.create('Ext.window.Window', {
        width: 850,
        layout: 'fit',
        resizable: false,
        closable: false,
        modal: true,
        items: form
    });
  • 写回答

3条回答 默认 最新

  • Go 旅城通票 2014-12-29 08:14
    关注
     var form = Ext.create('Ext.form.Panel', {
                //id: 'setScoreLevel__form',
    

    id去掉,要不id重复了,或者调用window的autoDestroy:true,,自动删除window对应dom对象。

     win_form.destroy();
    

    其实重用一个window对象也行,不用重复创建

     if (!this.win_form) 
           this.win_form = Ext.create('Ext.window.Window', {
                width: 850,
                layout: 'fit',
                resizable: false,
                closable: false,
                modal: true,
                items: form
            });
    
    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题