Ext之FormPanel上传错误终极解决

今天使用Ext写一个系统的后台,使用了FormPanel做表单,代码如下:

var employee_form_panel = new Ext.form.FormPanel({
	renderTo:"hello",
    fileUpload:true,
    labelAlign: 'right',
    title: '档案信息',
    width: 800,
    frame:true,
    labelWidth:60,
	defaults:{width:200,xtype:"textfield"},
    items: [{                     
                xtype:'textfield',
                fieldLabel: '职工地址',
				allowBlank:false,
				blankText:"职工地址不能为空",
                name: 'address',
				width:300
            },
			{
				xtype:"htmleditor",
				width:300,
				height:400,
				name:"info",
				fieldLabel:"档案简介"
				}],
	buttons:[{text:"保存档案",handler:s},{text:"取消修改"}]
 });
 function s(){
    employee_form_panel.form.submit(
					{
					  waitTitle:"请稍候",
		              waitMsg:"正在保存数据...",
		              url:"employeeManage.jhtml?method=save",
		              method:"POST",
		              success:function(){Ext.MessageBox.alert("系统提示","保存数据成功!");},
		               failure:function(){Ext.MessageBox.alert("系统提示","保存数据失败!")}
					});
 }

 传递到后台后,request中竟然获取不到任何数据,google了一圈没有找到答案,只有挨个排除,最终发现是fileUpload标签的原因,使用该标签后,就使用了一个iframe来上传,这样造成了后台获取不到数据,给fileUpload注释后发现正常了,问题又出现了,这里需要上传二进制数据就需要要使用该标签,分析了Ext代码后,发现原来问题出在自己的代码上,上传二进制数据时候只需要将success和failure的回调函数表示为function(action,form),这样就一切正常了!

你可能感兴趣的:(ext,Google)