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