请问一下大家,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前面比较保险!