日期:2014-05-16  浏览次数:20723 次

extjs 将ext.form.FormPanel添加到ext.windows中 - Web 开发 / Ajax
请问一下大家,extjs将表单添加到一个窗口中,怎么没有显示表单,只显示一个窗口,大侠们帮忙看看。js代码如下:

function addWin(){
var win = new Ext.Window({
width:510,
height:400,
modal:true,
title:"添加用户",
items:addNewsForm
});
win.show();

var addNewsForm= new Ext.FormPanel({
defaultType : 'textfield',//表单默认类型
labelAlign : 'center',//位置
labelWidth : 75,
frame : true,
width : 400,
items : //元素
[
{fieldLabel : '编号',name:'id',allowBlank:false,blankText:'不能为空'},
{fieldLabel : '类别'},
{fieldLabel : '标题'},
{fieldLabel : '时间'},
new Ext.form.TextArea({//文本域
fieldLabel:'内容',
name:'newsContent',
width:300,
height:100
})
],
buttons:[
{text:'保存',id:'addNewsWindow'},
{text:'重置'}
]
}); 
}


------解决方案--------------------
JScript code

function addWin(){
var addNewsForm= new Ext.FormPanel({
defaultType : 'textfield',//表单默认类型
labelAlign : 'center',//位置
labelWidth : 75,
frame : true,
width : 400,
items : //元素
[
{fieldLabel : '编号',name:'id',allowBlank:false,blankText:'不能为空'},
{fieldLabel : '类别'},
{fieldLabel : '标题'},
{fieldLabel : '时间'},
new Ext.form.TextArea({//文本域
fieldLabel:'内容',
name:'newsContent',
width:300,
height:100
})
],
buttons:[
{text:'保存',id:'addNewsWindow'},
{text:'重置'}
]
});  
var win = new Ext.Window({
width:510,
height:400,
modal:true,
title:"添加用户",
items:addNewsForm
});
win.show();
}

------解决方案--------------------
CSS code

function addWin(){


var addNewsForm= new Ext.FormPanel({
defaultType : 'textfield',//表单默认类型
labelAlign : 'center',//位置
labelWidth : 75,
frame : true,
width : 400,
items : //元素
[
{fieldLabel : '编号',name:'id',allowBlank:false,blankText:'不能为空'},
{fieldLabel : '类别'},
{fieldLabel : '标题'},
{fieldLabel : '时间'},
new Ext.form.TextArea({//文本域
fieldLabel:'内容',
name:'newsContent',
width:300,
height:100
})
],
buttons:[
{text:'保存',id:'addNewsWindow'},
{text:'重置'}
]
}); 

var win = new Ext.Window({
width:510,
height:400,
modal:true,
title:"添加用户",
items:addNewsForm
});
win.show(); 
}
让程序先创建panel,然后再将FormPanel添加到window中最后显示window
显示window的先后是有区别的,如果在window调用了显示后再添加panel是显示不出来的
因为这个时候所有的dom节的以及被创建了或渲染了,后添加的出现就不会再被创建或渲染
所以要放在show前面比较保险!