java dwz 下拉菜单_[Java教程]DWZ使用中遇到的坑

[Java教程]DWZ使用中遇到的坑

0 2014-11-29 14:00:11

DWZ官方文档中关于文件上传表单的提交:

因为Ajax不支持enctype="multipart/form-data" 所以用隐藏iframe来处理无刷新表单提交.

οnsubmit="return iframeCallback(this, [navTabAjaxDone/dialogAjaxDone]);">

服务器端响应

DWZ-v1.2版本开始服务器返回和validateCallback格式保持一致:{ "statusCode":"200", "message":"操作成功", "navTabId":"", "rel":"", "callbackType":"closeCurrent", "forwardUrl":""}

第一个坑是,因为要上传文件,所以表单必须使用隐藏iframe的方式来处理,可是服务端返回的数据必须是JSON格式的,而不能使html,所以处理后的数据就不能展示了,只能说是提示操作状态。

第二个坑是,因为上传文件后在服务端分析数据后需要去展示,所以想着以弹窗的方式去展示,却发现了另外一个坑,事情是这样的:

dialog链接扩展:

A所指向页面将会在dialog 弹出层中打开,rel标识此弹出层的ID,rel为可选项。

Html标签扩展方式示例:弹出窗口

rel="dlg_page1" title="[自定义标题]" width="800" height="480">打开窗口一

关闭窗口:

在弹出窗口页面内放置即可。

JS调用方法示例:$.pdialog.open(url, dlgId, title);或$.pdialog.open(url, dlgId, title, options);

也就是说要想在页面打开一个弹窗,就必须要加载一个页面,指定一个地址,不然的话就给你报错。。。为啥不能展示本地数据呢。。。好蛋疼的设计。

为了展示数据,于是乎在分析完文件数据后将结果存到了memcache中,然后返回一个Key放到了返回json中,好在可以自定义回调函数,将key放到一个连接中通过jQ模拟提交,通过另一个页面展示出来。擦,好纠结的业务逻辑。。。泪奔了。。。

自定义的回调函数:// 弹出被覆盖的数据 function customAjaxDone(json){ if (json.statusCode == DWZ.statusCode.ok){ if (json.content.toString() == "xxx"){ DWZ.ajaxDone(json); } else { $("#xxx").attr("href", "{{ wrap_url('xxx/show_replace_data?hash=')}}" + json.content); $("#xxx").click(); } } else{ DWZ.ajaxDone(json); } }

表单事件:οnsubmit="return iframeCallback(this, customAjaxDone);"

本文网址:http://www.shaoqun.com/a/105743.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值