ExtJs 2.0 通过Ext.form.BasicForm提交时,要注意的细节!??当form表单不是通过Ext自带的组件构成,而是由Htm
ExtJs 2.0 通过Ext.form.BasicForm提交时,要注意的细节!
??当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',??????????????????????????url:'newsAction_add.action',??????????????????????????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.)