当form表单不是通过Ext自带的组件构成,而是由Html构成:
<DIV ID="FORM_ID">
<FORM ID="ADD">
....
</FORM>
</DIV>
new Ext.Panel({
....
contentEl:'FORM_ID',
....
buttons:[
{text:'保存',handler:add},
{text:'返回',handler:function(){
window.history.go(-1);
}}
]
});
function add () {
var f = Ext.form.BasicForm('ADD',{
method:'post',
fileUpload:true//如果是上传,一定要配置这个属性,在html中无需加enctype="multipart/form-data"
});
f.submit({
method:'post',
success:function(form,action) {
},
failure:function(form,action){
}
});
}
PS:在Html中,form元素内不能存在div,否则无法获得需要提交的参数,也就是说div元素不能出现在form元素集合内.
因为在new的一个panel里面导入的dom元素是从你给的id作为根去遍历的
(contentEl属性最好只指向div元素)
,
div如果在form里面,那就跟没有form元素一样,而basicForm接受的form元素的id后,会掉用getCmp()方法去
Panel容器里面找,这样就无法获得表单中的参数.
(如果还是无法获得参数,就需要在basicForm里面加上fileUpload=true.)