这个是前台的上传的表单内容:
//创建formPanel对象
        var fileForm=new Ext.FormPanel({
            id : 'fileForm',
            region:'center',
            buttonAlign :'center',
            labelAlign:"right",
            labelWidth:60,
            frame : true,
            reader:new Ext.data.JsonReader({totalProperty:'total', root: 'data'},file_dirField),
            items :
            [{
                id:'fileFormTab',
                xtype:'panel',
                deferredRender : false,
                layoutOnTabChange:true,
                plain:true,
                //rame:true,//要设为true
                fileUpload:true,//一定要这一项,表明这个表单是做文件上传所用
                //enctype : 'multipart/form-data', //其实这一项是没有用的,fileUpload:true的令一层意思也就是这个
                activeTab:0,
                bodyStyle:'padding:0px;width:100%;',
                border:false,
                autoScroll:false,
                margins:'0 0 0 0',
                cmargins:'0 0 0 0',
                height:100,
                items:
                [{
                    id:'fileBase',
                    title:'上传文件',
                    layout:'column',
                    border:false,
                    frame : true,
                    autoScroll:true,
                    bodyStyle:'padding:0px;',
                    autoWidth : true,                           
                    items :
                    [{
                        columnWidth:.5,                                
                        bodyStyle:'padding:0px',
                        autoHeight:true,
                        layout: 'form',
                        items: 
                        [{
                            xtype : 'hidden',
                            readOnly : true,
                            // fieldLabel : '编号(自动生成)',
                            name : 'keyid',
                            anchor : '98%'
                        },
                        {
                            xtype : 'textfield',
                            id : 'filename',
                            fieldLabel : '文件名',
                            name : 'name', 
                            anchor : '99%',
                            inputType : 'file'//文件的形式
                        }]
                    },
                    {
                        columnWidth:.5,                                
                        bodyStyle:'padding:0px',
                        autoHeight:true,
                        layout: 'form',
                        items: 
                        [{
                            xtype : 'combo',
                            fieldLabel : '文件类型',
                            id : 'typedata',
                            name : 'typeid',
                            hiddenName : 'typeid',
                            store : typeStore,
                            valueField : 'keyid',
                            displayField : 'name',
                            mode: 'remote',
                            triggerAction: 'all',
                            selectOnFocus:true,
                            readOnly:true,
                            anchor : '98%',
                            allowBlank : false,
                            blankText : '文件类型不能为空'
                        }]
                    }]
                }]
            }],
            buttons : [{
                text : '保存',
                handler : function() { // 对数据库的保存数据的出来
                    // from里面不为空时提交数据
                    if (fileForm.form.isValid())
                    { 
                        var filename = fileForm.findById("filename").getValue();
                        var filetype = fileForm.findById("typedata").getValue();
                        fileForm.form.doAction('submit', {
                            url : 'data/office/office_file_data.jsp?t=' + new Date(),
                            method : 'post',
                            params : 'command=fileUpload&filename='+filename+'&filetype='+filetype,
                            waitMsg:'数据提交中.....',
                            success : function(form, action)
                             {
                                //关闭窗口
                                closeWin('fileWin');
                                fileGrid.ds.reload();
                            },
                            failure : function(form, action)
                            {
                                var errmsg = action.result.msg;
                                Ext.Msg.alert('添加操作失败',errmsg);
                            }
                        });
                        
                    }
                    else
                    {
                Ext.Msg.alert("消息","请选择文件再上传.");
            }
                }
            },
            {
                text : '重置', // 重置form的数据
                handler : function() 
                {
                    fileForm.form.reset();
                }
            },
            {
                text : '关闭窗口', // 重置form的数据
                handler : function()
                {
                    //重置形成表单内容
                    fileForm.form.reset();
                    //关闭窗口
                    closeWin('fileWin');
                }
            }]
        });
        //新建窗口对象
        createItemWin('fileWin','文件中心',550,160,fileForm);
        //显示窗口
        win.show();
    }

解决方案 »

  1.   

    最外面的formpanel里面怎么嵌套了一个panel?那个fileUpload:true应该放在formpanel的定义里面,formpanel可以设置布局为column的
      

  2.   

    最外面的那个panel是用于控制页面布局的。
      

  3.   

    你的意思是不是这么写//创建formPanel对象
            var fileForm=new Ext.FormPanel({
                id : 'fileForm',
                region:'center',
                buttonAlign :'center',
                layout:'column',
                fileUpload:true,
                labelAlign:"right",
                labelWidth:60,
                frame : true,
                reader:new Ext.data.JsonReader({totalProperty:'total', root: 'data'},file_dirField),
                items :
                [{
                    id:'fileFormTab',
                    xtype:'panel',
                    deferredRender : false,
                    layoutOnTabChange:true,
                    plain:true,
                    //fileUpload:true,//一定要这一项,表明这个表单是做文件上传所用
                    activeTab:0,
                    bodyStyle:'padding:0px;width:100%;',
                    border:false,
                    autoScroll:false,
                    margins:'0 0 0 0',
                    cmargins:'0 0 0 0',
                    height:100,
                    items:
                    [{
                        id:'fileBase',
                        title:'上传文件',
                        //layout:'column',
                        border:false,
                        frame : true,
                        autoScroll:true,
                        bodyStyle:'padding:0px;',
                        autoWidth : true,                           
                        items :
      

  4.   

    改了以后,提交的时候在火狐下就提示这个 错误:missing ) in parenthetical
    [Break on this error] (缺少参数 commandmultipart/form-data; bounda...-------------------------17192139853102)
      

  5.   

    var filename = new Ext.form.TextField({
                    id : 'filename',
                    name : 'filename',
                    fieldLabel : '文件名',
                    inputType : 'file'
                    //style : 'margin-left:0px;margin-right:0px;'
                });
            var filetype = new Ext.form.ComboBox({
                    id : 'typedata',
                    fieldLabel: '文件类型',
                    name : 'typeid',
                    hiddenName : 'typeid',
                    store : typeStore,
                    valueField : 'keyid',
                    displayField : 'name',
                    mode: 'remote',
                    triggerAction: 'all',
                    selectOnFocus:true,
                    readOnly:true,
                    anchor : '98%',
                    allowBlank : false,
                    blankText : '文件类型不能为空'
                });    
            
            var importbt = new Ext.Button({
                    text : '上传',
                    style : 'margin-left:120px;',
                    handler : function() {
                        if (datePanel.getForm().isValid()) 
                        {
                            var filename = formPanel.findById("filename").getValue();
                            var filetype = formPanel.findById("typedata").getValue();
                            datePanel.getForm().submit({
                                url : 'data/office/office_file_data.jsp?command=fileUpload',
                                method : 'POST',
                                params : 'command=fileUpload&filename='+filename+'&filetype='+filetype,
                                waitMsg : '正在提交文件到服务器,请稍候......',
                                successProperty : 'success',
                                success : function(datePanel, o) {
                                    Ext.Msg.alert('Success', '上传文件成功!');
                                    //关闭窗口
                                    closeWin('fileWin');
                                    fileGrid.ds.reload();
                                },
                                failure : function(datePanel, o) {
                                    Ext.Msg.alert('Failure', '上传文件失败!原因:'
                                                    + o.result.errorMsg);
                                }
                            });                    }
                    }
                });     var formPanel = new Ext.Panel({
                        layout : 'column',
                        border : true,
                        autoScroll:false,
                        labelAlign:'left',
                        height : 200,
                        items : [{
                                    items : [filekeyid]
                                }
                                ,{
                                    width : 290,
                                    items : 
                                    [{
                                        //columnWidth:.3,
                                        layout : 'form',
                                        labelAlign:"left",
                                        autoScroll:false,
                                        items : [filename]
                                    }]
                                },{
                                    width : 290,
                                    items : 
                                    [{
                                        layout: 'form',
                                        items: [filetype]
                                    }]
                                },{
                                    border : false,
                                    width : 200,
                                    items : [importbt]
                                }]
                    });
        var datePanel = new Ext.form.FormPanel({
                    fileUpload : true,
                    border : true,
                        region:'center',
                        labelAlign:"left",
                        height : 300,
                        //bodyStyle:"padding:0px;width:100%;height:100%;",
                    items : [formPanel]
                });
      

  6.   

    {
                                    width : 290,
                                    items : 
                                    [{
                                        layout : 'form',
                                        labelAlign:"left",
                                        autoScroll:false,
                                        items : [filename]
                                    }]
                                }