先重點關注兩個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