代码
function getPanel(){
var grid=new Ext.lingo.JsonGrid.Gys();
grid.autoHeight=false;
grid.region='center';
//用于布局
var leftItems=[
{xtype:'textfield',name: 'mc',allowBlank: true,fieldLabel: '名称',anchor:'60%'},
{xtype:'lycombo',name: 'lyId',allowBlank: true,fieldLabel: '来源',mapping:'gysLy.id'},
{xtype:'gyslxcombo',name: 'lx',allowBlank: true,fieldLabel: '类型',mapping:'gysLx.id'}
];
var rightItems=[
{xtype:'textfield',name: 'bh',allowBlank: true,fieldLabel: '编号',anchor:'60%',value:''},
{xtype:'jgsccombo',name: 'jgscId',allowBlank: true,fieldLabel: '价格手册',mapping:'gysJgsc.id'},//3
{xtype:'yhzcombo',name: 'yhzId',allowBlank: true,fieldLabel: '用户组',mapping:'gysYhz.id'}
];
var formPanel=new Ext.FormPanel({
id:name+1,
collapsible:true,
region:'north',
labelAlign:'right',
frame:true,
title : '信息检索',
layout:'column',
bodyStyle : 'padding: 10px; background-color: #DFE8F6',
labelWidth : 100,
height : 200,
items:[
{
columnWidth:.5,
layout:'form',
border:false,
items:leftItems
},{
columnWidth:.5,
layout:'form',
border:false,
items:rightItems
}
],
buttons: [{
text: '查询',
handler: function(){
grid.store.removeAll();
grid.store.reload({
params : {
start : 0,
limit : 15,
'tj1' :Ext.get(leftItems[0].name).dom.value,
'tj2' :Ext.get(leftItems[1].name).dom.value,
'tj3' :Ext.get(leftItems[2].name).dom.value,
'tj4' :Ext.get(rightItems[0].name).dom.value,
'tj5' :Ext.get(rightItems[1].name).dom.value,
'tj6' :Ext.get(rightItems[2].name).dom.value
}
});
},
formBind : true
},{
text: '清空',
handler:function(){
formPanel.form.reset();
}
}]
});
alert("formPanel=="+formPanel.id);
var panel= new Ext.Panel({
id:name,
layout: 'border',
items : [
formPanel,grid
]
}); return panel;
}
当我在另外一个Js中调用是一直报Ext-all.js缺少对象
当我把formPanel的items属性拿掉后就好了?
谁能帮我看看到底是那里错了
function getPanel(){
var grid=new Ext.lingo.JsonGrid.Gys();
grid.autoHeight=false;
grid.region='center';
//用于布局
var leftItems=[
{xtype:'textfield',name: 'mc',allowBlank: true,fieldLabel: '名称',anchor:'60%'},
{xtype:'lycombo',name: 'lyId',allowBlank: true,fieldLabel: '来源',mapping:'gysLy.id'},
{xtype:'gyslxcombo',name: 'lx',allowBlank: true,fieldLabel: '类型',mapping:'gysLx.id'}
];
var rightItems=[
{xtype:'textfield',name: 'bh',allowBlank: true,fieldLabel: '编号',anchor:'60%',value:''},
{xtype:'jgsccombo',name: 'jgscId',allowBlank: true,fieldLabel: '价格手册',mapping:'gysJgsc.id'},//3
{xtype:'yhzcombo',name: 'yhzId',allowBlank: true,fieldLabel: '用户组',mapping:'gysYhz.id'}
];
var formPanel=new Ext.FormPanel({
id:name+1,
collapsible:true,
region:'north',
labelAlign:'right',
frame:true,
title : '信息检索',
layout:'column',
bodyStyle : 'padding: 10px; background-color: #DFE8F6',
labelWidth : 100,
height : 200,
items:[
{
columnWidth:.5,
layout:'form',
border:false,
items:leftItems
},{
columnWidth:.5,
layout:'form',
border:false,
items:rightItems
}
],
buttons: [{
text: '查询',
handler: function(){
grid.store.removeAll();
grid.store.reload({
params : {
start : 0,
limit : 15,
'tj1' :Ext.get(leftItems[0].name).dom.value,
'tj2' :Ext.get(leftItems[1].name).dom.value,
'tj3' :Ext.get(leftItems[2].name).dom.value,
'tj4' :Ext.get(rightItems[0].name).dom.value,
'tj5' :Ext.get(rightItems[1].name).dom.value,
'tj6' :Ext.get(rightItems[2].name).dom.value
}
});
},
formBind : true
},{
text: '清空',
handler:function(){
formPanel.form.reset();
}
}]
});
alert("formPanel=="+formPanel.id);
var panel= new Ext.Panel({
id:name,
layout: 'border',
items : [
formPanel,grid
]
}); return panel;
}
当我在另外一个Js中调用是一直报Ext-all.js缺少对象
当我把formPanel的items属性拿掉后就好了?
谁能帮我看看到底是那里错了
Ext.QuickTips.init(); //当输入的数据验证有错误时,鼠标放在是错误处环境提示出错。。
var store=new Ext.data.JsonStore({
autoLoad:true, //自动执行导入的步骤
url:'store.jsp?method=searchUserId', //获取json的路径
root:'root', //返回json数组的名称
fields:['value','text']
});
var combo=new Ext.form.ComboBox({
fieldLable:'编号',
name:'userId',
emptyText:'请选择用户的编号....',
store:store, //上述定义的store 用于获取后台的数据
model:'local',
editable:false, //不允许手动输入
triggerAction:'all', //显示所有的信息,不出现滚动条之类的,不超出窗口大小
displayField:'text', //菜单中显示的文本,类似于key键值
valueField:'value'
});
combo.on('select', function(){ //给下拉菜单注册事件,当选择时自动将相对应的内容填充到Form当中
userForm.getForm().load({url:'store.jsp?method=searchUserId&userId='+comBox.getValue()});
});
var userForm=new Ext.form.FormPanel({
title:'学生管理系统' ,
width:565,
labelAlign:'righ',
frame:true,
url:'store.jsp', //form提交时跳转的路径
reader: new Ext.data.JsonReader({ //用于通过json将数据填充到表单当中
success:'success',
root:'root'
},[{
name:'userId',
type:'int'
},{
name:'userName',
type:'string'
},{
name:'userBirth',
type:'string'
},{
name:'userDesc',
type:'string'
}]),
items:[{
xtype:'fieldset',
title:'选择用户',
defaults:{
width:250
},
buttonAlign:'center',
items:[combo]
},{
xtype:'用户信息',
buttonAlign:'center',
defaults:{
width:200
},
items:[{
xtype:'textfield', //空间类型(此处为文本输入框)
fieldLable:'姓名', //空间标签
name:'userName', //控件name用于提交数据
emptyText:'请输入用户名...', //控件初始值时显示的内容
regex: /^[\u4E00-\u9FA5]+$/, //验证输入信息的正则表达式
regexText:'此处只允许输入中文',
minLength:2,
maxLength:4,
allowBlank: false
},{
xtype: 'datefield',
fieldLabel: '生日',
name: 'userBirth',
format: 'Y-m-d', //日期格式化
emptyText: '请选择出生日期..',
editable: false, //是否可以手动输入
allowBlank: false
},{
xtype: 'textarea',
fieldLabel: '说明',
name: 'userDesc'
}],
buttons:[{
text:'添加',
handler: function() {
combo.allowBlank = true; //ID自动生成 ,所以添加数据时不需要选择ID,将ID非空设置为true
userForm.getForm().submit({ //表单提交时执行
params:{method: 'addUser'}, //传递给后台的参数 与test.jsp?method=addUser 作用相同
success: function(form, action) { //提交成功时执行
Ext.Msg.alert('信息', '添加成功');
userForm.getForm().reset(); //重置form内容
store.load(); //store重新载入,确保数据最新
}
//此处如果写failure 即操作失败执行 写法与success相同
});
}
}, {
text: '修改',
handler: function() {
combo.allowBlank = false; //修改数据时必须提供ID,所以将ID设为不能为空
userForm.getForm().submit({
params:{method: 'editUser'},
success: function(form, action) {
Ext.Msg.alert('信息', '修改成功');
userForm.getForm().reset();
store.load();
}
});
}
}, {
text: '重置',
handler: function() {
userForm.getForm().reset(); //重置表单
}
}, {
text: '删除',
handler: function() {
combo.allowBlank = false;
userForm.getForm().submit({
params:{method: 'removeUser'},
success: function(form, action) {
Ext.Msg.alert('信息', '删除成功');
userForm.getForm().reset();
store.load();
}
});
}
}]
}],
renderTo:'form'
});
});
为什么我用了MessageBox 但是在网页中没有这个消息框 着是怎么回事
加载项的顺序应该是对的
Ext.lingo.JsonGrid.Gys() 这个有定义?
用firebug慢慢调试吧~