最近在项目中需要实现对上传文件之后对dialog进行更新:
dwz提供了两个回调函数,分别是navTabAjaxDone和dialogAjaxDone,但都无法刷新dialog,这时我们新增一个回调函数来对dialog进行刷新。
dwz的回调函数位于dwz.js或dwz.min.js中,我们找到navTabAjaxDone和dialogAjaxDone两个函数,在其下新增回调函数newAjaxDone
function newAjaxDone(json){
DWZ.ajaxDone(json);
if(json.statusCode==DWZ.statusCode.ok){
if(json.navTabId){
navTab.reloadFlag(json.navTabId);
var dialog = $.pdialog.getCurrent();//这两句是关键
$.pdialog.reload(dialog.data("url"));//这两句是关键
}else{
navTabPageBreak({},json.rel);
}
if("closeCurrent"==json.callbackType){
setTimeout(function(){
navTab.closeCurrentTab();},100);
}
else if("forward"==json.callbackType){
navTab.reload(json.forwardUrl);
}
}
}
新增的两句是刷新dialog的操作,在表单提交时回调函数使用newAjaxDone,则在文件上传成功之后dialog页面会刷新,以下为jsp页面
<form method="post" action="" ENCTYPE="multipart/form-data" οnsubmit="return iframeCallback(this,newAjaxDone1);">