DOJO中 xhrPost 提交 dijit.form.Form

da_shuaiguo 2010-01-06 05:08:39
各位好!

在使用DOJO时遇到如下问题:
用xhrPost提交一个普通表单可以正常运行。代码片段如下:

<form id="categoryForm" action="addCategory">
<s:hidden id="id" name="id"/>
<label for="name">Name</label><input dojotype="dijit.form.TextBox" id="name" type="input" name="category.name"/>
<input type="submit" id="button" dojotype="dijit.form.Button" label="Add" />
</form>


dojo.connect(button, "onClick", function(event){
event.preventDefault();
event.stopPropagation();
var xhrArgs = {
form: dojo.byId("categoryForm"),
preventCache:true,
handleAs: "json",
load: function(data){

},
error: function(error){
alert(error.message);
}
}
var deferred = dojo.xhrPost(xhrArgs);


不过,当在<form>标签中加入dojotype="dijit.form.Form"属性以后,就出错了。

<form id="categoryForm" action="addCategory" dojotype="dijit.form.Form">
<s:hidden id="id" name="id"/>
<label for="name">Name</label><input dojotype="dijit.form.TextBox" id="name" type="input" name="category.name"/>
<input type="submit" id="button" dojotype="dijit.form.Button" label="Add" />
</form>


问题是,怎么用Ajax提交一个dijit.form.Form。

谢谢!
...全文
1257 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
da_shuaiguo 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fjb5926 的回复:]
我的还是1.2.3哈,刚才实际测试了一哈,确实是可以调的
[/Quote]
我现在是初学,还没有对性能方面做过研究。期待老手指教!
da_shuaiguo 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fjb5926 的回复:]
我的还是1.2.3哈,刚才实际测试了一哈,确实是可以调的
[/Quote]
恩,那这有可能是1.4中不能用了,或者是使用方法有所改变,也有可能是1.4的BUG。

我现在的解决方法是,在xhrArgs中不用form属性来指定Form,而是通过content属性来定义参数的Key,然后再通过DOM取得对应的值。
感觉比较麻烦。。。
fjb5926 2010-01-07
  • 打赏
  • 举报
回复
再问个题外话,我在项目中好多地方用了dojo控件,在ff中还可以,在IE中就感觉好慢哦,按照官方的方法压缩了也没很好解决,请问各位是否也是这种情况哦?
fjb5926 2010-01-07
  • 打赏
  • 举报
回复
我的还是1.2.3哈,刚才实际测试了一哈,确实是可以调的
da_shuaiguo 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fjb5926 的回复:]
如果不修改代码肯定要出错的,后观你已经转成dojo控件了,代码中应该改为:
....
var xhrArgs = {
        form: dijit.byId("categoryForm").domNode,
        preventCache:true,
.....
[/Quote]
多谢回答!
您说的这种方法我也曾经试过,但也会出错。
我用的是DOJO的1.4.0,请问您用的是什么版本?
另外,以上这个方法,您确实在实际使用中证明过是可行的吗?
请赐教!
fjb5926 2010-01-07
  • 打赏
  • 举报
回复
如果不修改代码肯定要出错的,后观你已经转成dojo控件了,代码中应该改为:
....
var xhrArgs = {
form: dijit.byId("categoryForm").domNode,
preventCache:true,
.....
da_shuaiguo 2010-01-07
  • 打赏
  • 举报
回复
无人回帖???
内容概要:本文系统研究了直流微网直流母线电压恢复的二次控制策略,重点提出并实现了基于虚拟压降补偿的方法在并联双向Buck-boost变换器的应用。通过Simulink搭建详细的仿真模型,深入分析了虚拟压降原理及其在多变换器并联系统的协调控制机制,有效解决了因线路阻抗差异导致的电压偏差与电流分配不均问题,实现了母线电压的精确调节与快速恢复,显著提升了系统的稳定性、均流性能与电能质量。研究涵盖了控制策略设计、关键参数整定及动态响应特性验证,提供了完整的仿真流程与结果分析。; 适合人群:具备电力电子、自动控制及微电网相关专业知识背景,熟悉Simulink仿真环境,从事新能源发电、直流配电系统、分布式能源控制等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解直流微网母线电压稳定与均流控制的关键技术;②掌握虚拟压降补偿在二次控制的理论基础与实现方法;③构建并调试并联Buck-boost变换器的协同控制系统仿真模型,服务于学术研究、课程设计或实际工程项目开发; 阅读建议:学习过程应结合Simulink模型细致剖析控制回路结构,重点关注虚拟阻抗参数对系统动态性能与鲁棒性的影响,建议通过改变负载工况、线路参数或增加变换器数量等方式进行对比仿真,以全面评估控制策略的有效性与适应性。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧