用EXT4.2做了一个页面,弹出的window里内嵌form,第一个window单独写成一个.js文件,第二个由于要控制页面增删组件,所以写在该页面的js文件里。可是有个问题,先点第一个window,再点第二个,第二个的内容会被覆盖。如果第二个window的items:里不嵌form则不会出现这个问题。以下是代码,请大牛帮忙看看。 
 onAddClick: function(){
var addWin = Ext.create("Ext.window.Window",{
id: 'addWin',
title: user_newuser_title,
modal:true,
width:700,
height:622,
resizable: false,
loader: true,
region: 'center',
border: false
});

addWin.show();
addWin.getLoader().load({
        url: "../../../ui/user/newUser.js", //这个JS里是可以加载的form
        renderer: "component"
        });    },
    onSearchClick: function(){
     var searchWin = Ext.create("Ext.window.Window",{
title: main_button_search,
modal:true,
width:300,
height:180,
bodyPadding:'12 18',
id:'searchform',
fieldDefaults: {
 width:'100%',
 labelSeparator:":",
 anchor:"0"
     },
items:[        {
fieldLabel: user_user_grid_userName,
name:'name',
xtype: 'textfield'

},
{
name: 'province',
        xtype: 'combobox',
        fieldLabel: "省份"
        valueField: 'id',
        displayField: 'text',
        multiSelect: false,
        store: Ext.create('Ext.data.Store', {
         autoLoad:true,
fields:[   {name:"id",type:"String"},
        "text", "departments"],
        proxy: {
            type: 'ajax',
            url: '../../../user/register.action?flag=3',
            reader: {
                type: 'json'
            }
    }
        }),
        typeAhead: true,
        emptyText: '请选择',
        listeners: {
         change: function(f,n,o){
         var p=this.store,
           c=Ext.StoreManager.lookup("dStore");
         cb=this.up("form").getForm().findField("department");
         if(n && n!=o){
         var rec=p.getById(n);
         cb.setValue();
         if(rec){
         c.loadData(rec.data.departments);
         }
         }
         }
         } 
        
},
{
name: 'department',
        xtype: 'combobox',
        fieldLabel: user_newuser_department,
        valueField: 'id',
        displayField: 'text',
        multiSelect: false,
        store: Ext.create('Ext.data.Store', {
     storeId: 'dStore',
        fields:[{name:"id",type:"String"}, "text"]
        }),
    emptyText: '请选择'
   }]

});
//……………………
});
     searchWin.show();
    
    }JavaScriptEXT4

解决方案 »

  1.   

    onAddClick: function(){
    var addWin = Ext.create("Ext.window.Window",{
    id: 'addWin',
    title: user_newuser_title,
    modal:true,
    width:700,
    height:622,
    resizable: false,
    loader: true,
    region: 'center',
    border: false
    }); addWin.show();
    addWin.getLoader().load({
            url: "../../../ui/user/newUser.js", //这个JS里是可以加载的form
            renderer: "component"
            });},
    onSearchClick: function(){
         var searchWin = Ext.create("Ext.window.Window",{
    title: main_button_search,
    modal:true,
    width:300,
    height:180,
    bodyPadding:'12 18',
    id:'searchform',
    fieldDefaults: {
     width:'100%',
     labelSeparator:":",
     anchor:"0"
      },
    items:[{
    fieldLabel: user_user_grid_userName,
    name:'name',
    xtype: 'textfield'

    },
    {
    name: 'province',
            xtype: 'combobox',
            fieldLabel: "省份"
            valueField: 'id',
            displayField: 'text',
            multiSelect: false,
            store: Ext.create('Ext.data.Store', {
             autoLoad:true,
     fields:[   {name:"id",type:"String"}, "text", "departments"],
             proxy: {
                type: 'ajax',
                url: '../../../user/register.action?flag=3',
                reader: {
                    type: 'json'
             }
          }
            }),
            typeAhead: true,
            emptyText: '请选择',
            listeners: {
             change: function(f,n,o){
             var p=this.store,
               c=Ext.StoreManager.lookup("dStore");
             cb=this.up("form").getForm().findField("department");
             if(n && n!=o){
             var rec=p.getById(n);
             cb.setValue();
             if(rec){
             c.loadData(rec.data.departments);
               }
                    }
                      }
                     } 
            
    },
    {
    name: 'department',
            xtype: 'combobox',
            fieldLabel: user_newuser_department,
            valueField: 'id',
            displayField: 'text',
            multiSelect: false,
            store: Ext.create('Ext.data.Store', {
          storeId: 'dStore',
              fields:[{name:"id",type:"String"}, "text"]
        }),
        emptyText: '请选择'
       }
     ]
    //……………………
    });  //window
         searchWin.show();
        
        }