代码
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属性拿掉后就好了?
谁能帮我看看到底是那里错了 

解决方案 »

  1.   

    Ext.onReady(function(){
    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'
    });
    });
      

  2.   

    先检查标点符号,如果firefox下可以,ie不可以,那基本上就是标点造成的
      

  3.   

    兄弟 问个问题哈
    为什么我用了MessageBox 但是在网页中没有这个消息框 着是怎么回事
    加载项的顺序应该是对的
      

  4.   

    给段那么多没定义的东西给人,叫人家怎样调试?
    Ext.lingo.JsonGrid.Gys() 这个有定义?
    用firebug慢慢调试吧~