DWZ框架中ajax提交文件表单的处理(关闭当前dialog + 刷新父级navTab)

先重点关注两个js文件:dwz.ajax.js和dwz.core.js

流程:

1.回调iframeCallback

<form xx enctype="multipart/form-data" onsubmit="return iframeCallback(this, dialogAjaxDone);">

 2.dwz.ajax.js中

第34行,调用iframeCallback方法

/**

 * 带文件上传的ajax表单提交

 * @param {Object} form

 * @param {Object} callback

 */

function iframeCallback(form, callback){xx}

第74行,处理返回结果

此处需将response = $iframe.contents().find("body").html();

改为response = $iframe.contents().find("body").find("pre").html();

第139行,执行回调函数

/**

 * dialog上的表单提交回调函数

 * 服务器转回navTabId,可以重新载入指定的navTab. statusCode=DWZ.statusCode.ok表示操作成功, 自动关闭当前dialog

 * 

 * form提交后返回json数据结构,json格式和navTabAjaxDone一致

 */

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) {

navTabPageBreak({}, json.rel);

}

if ("closeCurrent" == json.callbackType) {

$.pdialog.closeCurrent(); // 关闭当前弹出框

}

}

}

原文:http://blog.csdn.net/xingxinglaile/article/details/40188781

原文地址:https://www.cnblogs.com/azhqiang/p/4398421.html