• 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

  • 相关阅读:
    HDU 1251 统计难题 字符匹配
    mac 安装mysql
    ubuntu git 下添加 ssh
    mac下virtualenv使用
    git-ssh配置和使用
    在PythonAnyWhere上部署Django项目
    ImportError: No module named PIL
    mysql 命令行操作
    ubuntu安装ssh
    常用git命令
  • 原文地址:https://www.cnblogs.com/azhqiang/p/4398421.html
Copyright © 2020-2023  润新知