Ext.form 表单为什么第二次就不正常显示

我的代码如下:
Ext.onReady(function() {

Ext.get('btn').on('click', function(){

  var form = new Ext.form.FormPanel({ 
        defaultType: 'textfield', 
        labelAlign: 'right', 
        title: '用户登陆', 
        labelWidth: 100, 
        frame: true, 
        width: 500, 
        autoHeight: false, 
       items: [{ 
            fieldLabel: '用户名', 
            name:"userAccount", 
            id:"userAccount", 
            allowBlank:false 
        },{ 
            fieldLabel: '密码', 
            inputType :'password', 
            id:"passwd", 
            name:"passwd"  ,
            allowBlank:false 
        }], 
        buttons: [{ 
            text: '登陆', 
            handler: function(){ 
                form.getForm().submit({ 
                    url:'/ren/servlet/windowTest', /* 表示表单提交的时候的路径。 */ 
                 waitMsg : '正在处理...',
                 failure : function(form, action) {
                Ext.MessageBox.alert(
              'Error Message', '保存失败');
              },
            success : function(form, action) {
            Ext.MessageBox.alert('温馨提示', '保存成功');
            win.hide();
            }

                }); 
            } 
        },{ 
            text: '取消', 
            handler: function(){ 
                win.hide(); 
            } 
        }] 
    }); 
   
   var win = new Ext.Window({
     modal: true,
    layout:'fit',
    width:300,
    height:150,
    closeAction:'hide',
    items: form

   });
win.show();

   });
});

为什么第一次点击时候表单能正常显示,但当第二次点击的时候window能show出来 但表单没正常显示...那几个用户名和密码筐没显示出来?请问高手如何解决.....谢谢了.第二,一次图片如下:

 

 

 

==========================================================================

 

   发表时间:2008-03-11  
重复调用

win和form最好只创建一次,关闭的时候用hide,下次再show
==========================================================================
 
请问:郭亲华
    "Ext.form 表单为什么第二次就不正常显示"你这个问题是如何解决的呢!我目前也遇到这种情况.
==========================================================================
 
去掉 id 标识
 
==========================================================================
 
我已经去掉form和window中的id了。但我有几个window,每个window装载不同的formPanel,经常不能正常显示,不是文本框太大就是看不见
 
==========================================================================
 
不要用hide(),用destroy(),那些输入框的id重复了
 
==========================================================================
 
我的是刷新过后有时第一次显示就不正常,文本框太大了,窗口的大小也不合适。
 
==========================================================================
z95001188 写道
重复调用

win和form最好只创建一次,关闭的时候用hide,下次再show

如果没有close,是否打开的win和form就一直存在,没有释放内存?
 
==========================================================================
最大的可能性是 1) id重复
               2) 布局问题,有时候加上layout:'form'就正常显示了,至今也不知道为什么!
posted @ 2011-09-08 20:12  左正  阅读(422)  评论(0编辑  收藏  举报