在DWZ中进行ajax表单提交后,通过回调函数来返回状态结果,以及返回是否需要刷新父页的navTabId。
       DWZ给我们提供了两个回调函数,一个是子窗口为navTab的navTabAjaxDone,一个是子窗口为dialog的dialogAjaxDone,但这两个回调函数都有同一样的缺陷:就是父窗口必须是navTab,也就是说只能刷新navTab,如果父窗口为dialog,则此父dialog是刷新不了的。
      如果我们是在一个弹出的dialog中,进行添加、删除和修改操作,操作完成后,这个dialog是无法刷新的。删除就在此dialog中完成,删除后只刷新不关闭当前dialog。添加和修改操作可能要再弹出一个dialog来完成,也就是说出现了二级dialog,操作完成后,需要关闭当前子dialog,刷新父dialog。
      针对这种情况 ,我们自己再添加一个回调函数,来适应这种情况需要。
      打开DWZ.ajax.js这个文件,找到dialogAjaxDone这个函数,在它的下方,我们添加一个新回调函数,假设取名为dialogAjaxDoneFather;

/*在对话框中操作数据,并刷新对话框*/
function dialogAjaxDoneFather(json) {
DWZ.ajaxDone(json);
if (json.statusCode == DWZ.statusCode.ok) {
if (json.navTabId) {
var dialog = $("body").data(json.navTabId);
$.pdialog.reload(dialog.data("url"), { data: {}, dialogId: json.navTabId, callback: null })
}
if ("closeCurrent" == json.callbackType) {
$.pdialog.closeCurrent();
}
}
}

这样我们在dialog中进行ajax表单提交,就可以使用这个dialogAjaxDoneFather回调函数了。
     删除操作:

<li><a class="delete" href="demo/delUser?id={uid}" callback="dialogAjaxDoneFather" target="ajaxTodo" title="确定要删除吗?"><span>删除用户</span></a></li>

添加和修改的Form标记中

添加和修改的Form标记中
[html]
<form method="post" action="demo/editUser" class="pageForm required-validate" onsubmit="return validateCallback(this, dialogAjaxDoneFather)">

如果表单返回类型是iframeCallback ,需写成iframeCallback(this,callback); 即回调函数必须是 callback, 不能自定义名称,而且上述方法要写在页面内。
在回调json中,注意一定要返回需要刷新的父dialog的id,即
"navTabId":"dialogId"

DWZ (JUI) 教程 dwz框架 刷新dialog解决方案的更多相关文章

  1. DWZ (JUI) 教程 根据ID刷新 dialog

    reloadDialog:function(dialogId){ var dialog = $("body").data(dialogId); if(dialog){ $.pdia ...

  2. DWZ (JUI) 教程 DWZ中dialog层的刷新

    在DWZ开发过程中经常会遇到的一种情况就是:在navTab页面中通过a标签打开一个dialog,在dialog层进行操作后,需要对该dialog层进行必要的刷新操作. 1.首先讲一下思路: 在非dia ...

  3. DWZ(JUI) 教程 左侧栏默认是关闭状态的问题

    DWZ(JUI) 教程 左侧栏默认是关闭状态的问题,初始化是全屏状态,只需简单处理就可以了 $(function(){ DWZ.init("dwz.frag.xml", { log ...

  4. DWZ (JUI) 教程 tree 控件的选中事件

    DWZ (JUI) 教程 tree 控件的选中事件 先简单说一下流程 第一步 当然是先定义好回调事件了 function checkCallback(json){ ........... ...... ...

  5. DWZ(JUI) 教程 普通表单提交

    一类是普通的表单提交,另一类就是列表页面的表单提交,主要是用来查询搜索列表使用的.今天我就简单介绍一下前者. 这是官网上的普通列表页面, <div class="pageContent ...

  6. DWZ (JUI) 教程 navTab 刷新分析

    navTab的刷新在doc文件里也有说明 首先 在form表单里指定好回调函数 * <form action="/user.do?method=save" onsubmit= ...

  7. DWZ (JUI) 教程 table 排序

    dwz排序是后台排序,不是前台的js排序,他的流程和搜索,分页是一样的,当你点击排序的按钮时,从新发送请求刷新当前的navTable 和 dialog. <th width="60&q ...

  8. DWZ (JUI) 教程 国际化问题(多语言/语言切换)

    DWZ 国际化也是比较简单的,网站的内容国际化和常规的项目国际化是一样的,不要做出特殊的调整. DWZ 自身框架的国际化,比如 翻页的上一页下一页等信息.这些信息都是在dwz.frag.xml 文件当 ...

  9. DWZ(JUI) 教程 中如何整合第三方jQuery插件

    Query插件一般是$(document).ready()中初始化 $(document).ready(function(){  // 文档就绪,初始化jQuery插件| });  // 或者或缩写形 ...

随机推荐

  1. MySQL数据库最大连接数

    MYSQL数据库安装完毕后,默认最大连接数是100. 命令: show processlist; 假设是root帐号,你能看到全部用户的当前连接.假设是其他普通帐号,仅仅能看到自己占用的连接. sho ...

  2. LFS7.4编译笔记(3)

    在第一部分,我们编译了一个工具链及临时系统,然后在第二部分我们chroot到/mnt/lfs下面,利用临时系统的工具编译了我们最终的LFS系统.不过此时,我们的LFS系统还是不完整的,因为我们还没有安 ...

  3. Android如何完全调试framework层代码

    1 之前写过一篇文章:<Android实现开机调试system_process> 2 google的eclipse插件ADT的已经能够很方便的调试Android的apk了,但是调试的时候应 ...

  4. TP复习9

    配置文件 'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次'TMPL_DETECT ...

  5. TP复习

    第一课,三步骤 1,.名称   2.路径 3.引用核心文件 4,.公用的可以建立public  upload css 等 第二课 uRL四中模式 ~ActionClass.php 一.什么是MVC / ...

  6. 直接对寄存器操作,实现usart的串口输出寄存器的配置

    就像前面提到的,我用的板子是一款stm32f107系列的板子,在这块板子上,已经开发出了一套比较成熟的库函数,这也就意味着你可以不用直接去操作存储器来实现某些功能.比方说对于USART来说可以直接通过 ...

  7. 一款基于jQuery/CSS3实现拼图效果的相册

    之前为大家介绍了 HTML5 3D立体图片相册, HTML5图片相册重力感应特效, 基于CSS3图片可倾斜摆放的动画相册 今天我们要来分享一款很酷的jQuery相册插件,首先相册中的图片会以一定的角度 ...

  8. 【技术文档】XuebaOnline配环境时遇到的问题和解决办法

    在Ubuntu下装XuebaOnline可能遇到的问题和解决办法 自动安装Python3.0以上版本 编译命令采用python3 manage.py runserver,所以在linux系统下需要安装 ...

  9. 解决Intellij IDEA 通过archetype创建Maven项目缓慢的问题

    1.由于默认情况下,根据archetype创建maven项目会从网络下载catalog文件,导致创建maven项目缓慢 Searching for remote catalog: http://rep ...

  10. Hastiness

    Problem Description How many problems did you AC?When you read this problem, don’t hasty and careles ...