在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 method="post" action="demo/editUser" class="pageForm required-validate" onsubmit="return validateCallback(this, dialogAjaxDoneFather)">

在回调json中,注意一定要返回需要刷新的父dialog的id,即

"navTabId":"dialogId"

DWZ中刷新dialog的方案解决的更多相关文章

  1. DWZ (JUI) 教程 dwz框架 刷新dialog解决方案

    在DWZ中进行ajax表单提交后,通过回调函数来返回状态结果,以及返回是否需要刷新父页的navTabId.       DWZ给我们提供了两个回调函数,一个是子窗口为navTab的navTabAjax ...

  2. DWZ 刷新 dialog

    DWZ刷新dialog: 1,在删除按钮上添加callback属性;如:(callback="dialogAjax") <a class="delImg" ...

  3. 解决Yii2中刷新网页时验证码不刷新的问题

    解决Yii2中刷新网页时验证码不刷新的问题 [ 2.0 版本 ] ljfrocky  2015-05-30 19:39:00  1304次浏览 5条评论 10110 在Yii2框架中,如果在表单中使用 ...

  4. C# Winform频繁刷新导致界面闪烁解决方法

    C#Winform频繁刷新导致界面闪烁解决方法 一.通过对窗体和控件使用双缓冲来减少图形闪烁(当绘制图片时出现闪烁时,使用双缓冲) 对于大多数应用程序,.NET Framework 提供的默认双缓冲将 ...

  5. winform频繁刷新导致界面闪烁解决方法

    转自龙心文 原文 winform频繁刷新导致界面闪烁解决方法 一.通过对窗体和控件使用双缓冲来减少图形闪烁(当绘制图片时出现闪烁时,使用双缓冲) 对于大多数应用程序,.NET Framework 提供 ...

  6. 理解Docker(6):若干企业生产环境中的容器网络方案

    本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  7. JQuery中的dialog使用介绍

    初始化参数 对于 dialog 来说,首先需要进行初始化,在调用 dialog 函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框. 没有参数,表示按照默认的设置初始化对话 ...

  8. storm中DAU实时计算方案

    所就职的公司是一家互联网视频公司,存在大量的实时计算需求,计算uv,pv等一些经典的实时指标统计.由于要统计当天的实时 UV,当天的uv由于要存储当天的所有的key,面临本地内存不够用的问题,异常重启 ...

  9. RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充

    RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充 做Web开发的同志应该都深有体会,在web程序中打印不再象应用程序中那样便于控制了,web程序天生的一些特性造成了这个缺点, ...

随机推荐

  1. IntelliJ IDEA 2017版 spring-boot2.0.4的集成JSP

    一.必须依赖四个包,其中三个是springboot自带包,可以不写版本号,有一个不在springboot中,需要设置版本号 <!--引入Spring Boot内嵌的Tomcat对Jsp的解析包- ...

  2. HDU1864 最大报销额

    Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过6 ...

  3. 1.9yield方法

    yield()方法的作用放弃当前的cpu资源,将他让给其他的任务去占用cpu的执行时间,但放弃的时间不确定,有可能刚放弃,马上又获得cpu时间片 测试 package com.cky.thread; ...

  4. (转)PHP5使用cookie时报错 cannot modify header information - headers already sent by (......)

    转自:http://blog.csdn.net/buyingfei8888/article/details/8899797 运行有警告Warning: Cannot modify header inf ...

  5. 转载:$(function() {}),即$(document).ready(function(),什么时候执行?以此为准,真理

    转载:https://blog.csdn.net/Ideality_hunter/article/details/77935656 $(function() { //执行操作 }); $(functi ...

  6. Android创建AVD模拟器

    Android创建AVD模拟器 1. 新建一个安卓工程如下: 2. 点击windows里的 Android Virtual Device Manager,如果第一次安装 adt-bundle启动会出现 ...

  7. hdu 4920

    http://acm.hdu.edu.cn/showproblem.php?pid=4920 给定两个n阶矩阵,求矩阵相乘后模3. 直接搞肯定会超时 特殊处理1和2的情况 实际上是水过的..... 貌 ...

  8. execl 导入

    /** * 导入Excel功能   是把execl表中的数据添加到数据表中 */ public function import(){ if (!empty($_FILES)) { $file = re ...

  9. js五道经典练习题--第一道

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  10. 冲刺博客NO.6

    今天做了什么:通过自学已经掌握对多控件的使用并学会使用进度条 遇到的困难:Handler使用错误,对其理解错误,导致很多误会后来百度发现 Handler是Android系统消息机制抽象出来的一个类(并 ...