日期:2014-05-16  浏览次数:20602 次

ext ajax表单提交 获得html form数据
本帖最后由 haixiang710 于 2010-11-11 16:31:41 编辑 页面代码,html form表单内全是普通的html标签

<form id="theForm" name="theForm" method="post" action="../../etl/dorunSch.action">
...
</form>

然后我想通过Ext Ajax实现表单提交
用而EXT获得html标签只能这样获得

Ext.get("theForm");       //获得ID为theForm的Ext.Element对象
Ext.get("theForm").dom;   //DOM对象

而Ext中的theForm.form.doAction('submit',{});
theForm.form.submit();肯定是不行的,EXT的组件方法无法用于html表单.
试了很多种方法,都不行.
最后还是用ajax

Ext.Ajax.request({
   ...
});

但是用Ext.Ajax.request传入参数时又不知道怎么弄,
如果要把表单内的所有参数都一个个获得,再放入Ext.Ajax.request中的params属性中,
感觉很麻烦.
像JQuery的的话可以通过一个方法将表单数据序列化,
不知道Ext有没有相关的方法,上网到处找,也没找到.
如果没有又怎么去解决...都想用JQuery去发送ajax了.


------解决方案--------------------
theForm.form.submit();这样可以啊
ext form表单中放html代码,这样是可以提交到后台的
------解决方案--------------------

theForm.form.doAction('submit',{});
theForm.form.submit()

这个可以的

------解决方案--------------------
引用:
CSS code

theForm.form.doAction('submit',{});
theForm.form.submit()

这个可以的


我知道,那个只适用于Ext组件,
theForm.form.submit()
theForm.form.doAction()
中theForm必须是Ext FormPanel组件,theForm.form
就是从theForm这个FormPanel组件中获得Form表单.
但我这里的form表单是html form表单,而不是Ext组件也不属于哪个Ext组件,
所以用Ext form组件的方法是不行的,会报脚本错误,提示没有该方法或属性.
------解决方案--------------------
引用:
theForm.form.submit();这样可以啊
ext form表单中放html代码,这样是可以提交到后台的


问题是我form表单也是html的.
而且就submit()是可以,因为html form本来就有这个方法.
但我想用Ext实现Ajax
------解决方案--------------------
怎么一直没人帮忙解决啊。。
期待高手ing...
------解决方案--------------------
http://ivoter.iteye.com/blog/1415619 
ext.ajax异步提交html页面form表单非formPanel