dwz文件上传

fangpengyu 2014-05-09 02:51:45
想用dwz validateCallback函数来实现导入Excel后,关闭dialog,然后刷新主界面,但是导入之后不能跳出dwz alertMsg对话框。好像用jquery form插件可以实现,但是问题没解决,求大师指导,谢谢!
界面:


导入成功后的界面:无法弹出dwz信息框


前台:


<form action="/Tools/Excel/ImportExcel" method="POST" enctype="multipart/form-data" onsubmit="return fileCallback(this,dialogAjaxDone)">
<div class="pageFormContent" layouth="56">
<input type="text" name="filePath" id="filePath" readonly="readonly" style="width:190px;height: 22px "/> 
<input type="button" id="btnSelect" value="选择文件" class="fontColor"/> 
<input type="button" id="btnDownload" value="下载模板" class="fontColor"/>
<input type="file" name="files" id="files" style="display: none"/>
</div>
<div class="formBar">
<ul>
<li>
<div class="button">
<div class="buttonContent">
<button type="submit">导入</button>
</div>
</div>
</li>
<li>
<div class="button">
<div class="buttonContent">
<button type="button" class="close">关闭</button></div>
</div>
</li>
</ul>
</div>
</form>
</div>


dwz.ajax.js文件,增加了一个函数:

function fileCallback(form, callback, confirmMsg) {
var $form = $(form);

if (!$form.valid()) {
return false;
}

var _submitFn = function () {
$form.ajaxSubmit({
type: form.method || 'POST',
url: $form.attr("action"),
dataType: "json",
cache: false,
success: callback || DWZ.ajaxDone,
error: DWZ.ajaxError
});
}

if (confirmMsg) {
alertMsg.confirm(confirmMsg, { okCall: _submitFn });
} else {
_submitFn();
}

return false;
}
...全文
1318 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kowenzh 2016-01-29
  • 打赏
  • 举报
回复
我用的是chrome,同样的问题,解决了 http://www.funcool.xyz/2016/01/29/%E8%A7%A3%E5%86%B3dwz%E5%9C%A8chrome%E4%B8%AD%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E5%90%8E%E4%B8%8D%E8%83%BD%E6%AD%A3%E5%B8%B8%E6%98%BE%E7%A4%BA%E8%BF%94%E5%9B%9E%E6%B6%88%E6%81%AF%E7%9A%84%E9%97%AE%E9%A2%98/
kowenzh 2016-01-27
  • 打赏
  • 举报
回复
遇到同样的问题,我通过别的方法解决的,不过chrome升级到47后就不好用了,试试你的。 我原来的解决方案: 1. 在struts Action里 String result = "{\"statusCode\":\"200\",\"message\":\"数据导入成功\",\"navTabId\":\"reportDataManage\",\"rel\":\"\",\"callbackType\":\"closeCurrent\"}"; inputStream = new ByteArrayInputStream(result.getBytes("UTF-8")); 2. struts.xml: <action name="ExcelDataSave" class="excelDataSaveAction"> <result name="success" type="stream"> <param name="contentType">text/html</param> <param name="inputName">inputStream</param> </result> </action> 就是说自己组织json语句作为返回值。
shadany 2015-11-05
  • 打赏
  • 举报
回复
能不能教教怎么写导入的excel代码,现在我也搞不懂怎么导入呢。
oBuFangQiNi 2015-02-05
  • 打赏
  • 举报
回复
能不能教教怎么写导入的excel代码,现在我也搞不懂怎么导入呢。
fangpengyu 2014-05-09
  • 打赏
  • 举报
回复
调用了, 别的里面封装了,普通form输入框都是没有问题的,比如添加、修改页面,保存后都会弹出来的
Go 旅城通票 2014-05-09
  • 打赏
  • 举报
回复
你这个函数没有调用alertMsg.confirm这个吧?? 只有fileCallback这个函数有。。你是要提交前确认的话要传递第三个参数,你专递了前2个参数而已啊
fangpengyu 2014-05-09
  • 打赏
  • 举报
回复

function dialogAjaxDone(json){
	DWZ.ajaxDone(json);
	if (json.statusCode == DWZ.statusCode.ok){
		if (json.navTabId){
			navTab.reload(json.forwardUrl, {navTabId: json.navTabId});
		} else if (json.rel) {
			var $pagerForm = $("#pagerForm", navTab.getCurrentPanel());
			var args = $pagerForm.size()>0 ? $pagerForm.serializeArray() : {}
			navTabPageBreak(args, json.rel);
		}
		if ("closeCurrent" == json.callbackType) {
			$.pdialog.closeCurrent();
		}
	}
}
Go 旅城通票 2014-05-09
  • 打赏
  • 举报
回复
dialogAjaxDone代码呢。。

87,910

社区成员

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

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