easyui-dialog打开多次数据串台问题
问题:
公司项目最近在用easyui写后台管理系统,发现dialog使用后总会报出莫名奇妙的问题
1.打开多次后数据显示上一次的,表单提交错误或者获取数据错误
2.来回跳转后,会有打开其它dialog的可能,神奇的串台现象
排查:
既然打开dialog为上一次的,那么表明【浏览器加载了多个同id对象,导致浏览器解析加载错误】
那么,只要保证浏览器存在唯一的对象就能解决这个问题
解决方案:
1.新建一个变量,保存dialog对象,无论那个使用都操作该变量
结果:经实验,只要调用$('#id').dialog({...}); 就会构造一个新的dialog对象,开启关闭都要用,多次调用还是会产生多个对象
网上说该方案可行,我试了试,没啥效果,得大家试了,试好了,麻烦给我留言
2.打开dialog后,添加关闭事件,执行destroy方法,保证每次打开都是新的
结果:如果dialog绑定了页面的div,那么打开一次后,再也打不开了,猜想可能是连着这个div的dom对象一次玉石俱焚了。。。。惨!
可行的解决方案:
js追加dom元素,保证每次打开都追加一个dom对象让他去毁,以下是代码
应该也可以不声明,直接写,在里边添加关闭销毁事件
//注意:我用的时候是先声明了该变量,指定固定属性
var dataFile_Dg = $('<div></div>').dialog({
title: '文本文件上报监控详情',
width: 1000,
height: 600,
closed: true,
cache: false,
modal: true,
onClose: function () {
$(this).dialog('destroy',true);
}
});
//在使用该变量的时候,要把固定属性重写一遍,否则打开一次小一次,最后就留个按钮了,请慎重!!!
//详情页
function forwardToDataFileMonitor(bankId) {
// alert("详情");
dataFile_Dg.dialog({
title: '文本文件上报监控详情',
width: 1000,
height: 600,
closed: true,
cache: false,
modal: true,
href: 'report/static/html/dataFileMonitor/dataFileMonitor.html',
queryParams:{
Authorization: localStorage.token,
bankId: bankId,
reportDate: $('#reportDate').datebox('getValue')
},
});
dataFile_Dg.dialog('open');
}
补充建议:对话框加id
$('<div></div>').dialog({
id: 'uniqId', //插入该id,作为方法内变量,访问加该id即可
title: '文本文件上报监控详情',
width: 1000,
height: 600,
closed: true,
cache: false,
modal: true,
href: 'report/static/html/dataFileMonitor/dataFileMonitor.html',
queryParams:{
Authorization: localStorage.token,
bankId: bankId,
reportDate: $('#reportDate').datebox('getValue')
},
});
$("#uniqId").dialog('open');
easyui-dialog打开多次数据串台问题的更多相关文章
- easyUI dialog打开对话框,显示列表数据,选取一条数据操作后赋值给父窗口 resultMap声明为全局,生成getset方法
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" ...
- jquery.util.easyui.dialog
(function ($) { var $parent = parent.$; //获取弹出窗口数据集合 function getDialogs() { var dialogs = $parent(& ...
- easyui dialog 中嵌入html页面
最近使用easyui比较多,这个插件确实很好用.在使用时也遇到了大大小小的问题,好在都一一解决了. 记录一下今天遇到的问题. 目的:用easyui的dialog嵌入一个html页面(html中仍有要执 ...
- Easyui dialog Y轴滚动条定位
使用Easyui dialog进行数据新增的时候,如果Y轴方向有滚动条,当关闭之前的时候,将滚动条拉到最下方,再次打开的时候,滚动条还是定位在最下方. 需求: 每次打开的时候dialog Y轴滚动条定 ...
- easyui.dialog.js
(function ($) { var $parent = parent.$; //获取弹出窗口数据集合 function getDialogs() { var dialogs = $parent(& ...
- JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能
JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id="productDg"></table> &l ...
- EasyUI Form提交后json数据IE上需要下载(转)
EasyUI Form提交后json数据IE上需要下载(转) 在使用EasyUI的form中的submit方法时,返回json在IE中变成提示下载的问题,代码如下: $('#fileForm'). ...
- 窗口-EasyUI Window 窗口、EasyUI Dialog 对话框、EasyUI Messager 消息框
EasyUI Window 窗口 扩展自 $.fn.panel.defaults.通过 $.fn.window.defaults 重写默认的 defaults. 窗口(window)是一个浮动的.可拖 ...
- Easyui dialog中嵌入iframe
如果easyui dialog的地址属性用href超链接,easyui 不会加载整个url页面,只会截取url目标页的body体间的html, 如果想加载把其他页面 加载进dialog的iframe中 ...
随机推荐
- visual stdio 安装OpenGL库文件
1.将下载的压缩包解开.将得到5个文件 1. 将glut解压出来,将当中的glut.h拷贝到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC ...
- BZOJ1177:[APIO2009]Oil(枚举,前缀和)
Description 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整块土地为一个矩形区域,被划分为M×N个小块. Siruseri地质 ...
- 2016424王启元 Exp6信息搜集与漏洞扫描
一.原理与实践说明 1.实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫描技术:主机发现.端口扫描.OS及服务版本探测. ...
- Kali-linux使用Metasploitable操作系统
Metasploitable是一款基于Ubuntu Linux的操作系统.该系统是一个虚拟机文件,从http://sourceforge.net/projects/metasploitable/fil ...
- StackExchange.Redis学习笔记(一) Redis的使用初探
Redis Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化. 与其它键值数据存储相比,Redis有一组相对丰富的数据类型. Redis可以将数据复制到任意数量的从机中 Redis的安装 官 ...
- python文件操作指令
原文地址:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html 常用的文件操作指令: python中对文件.文件夹(文件操 ...
- 404 Note Found 队-Alpha5
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...
- 404 Note Found 队-需求报告
目录 组队后的团队项目的整体计划安排 项目logo及思维导图 项目logo 思维导图 产品思维导图 产品思维导图-引导 产品思维导图-后端数据处理.存储 产品思维导图-短信识别 产品思维导图-智能分析 ...
- linux下安装php扩展amqp
1 安装扩展必要依赖 rabbitmq-c 安装包地址:https://github.com/alanxz/rabbitmq-c/releases wget -c https://github.com ...
- 数据存储之归档解档 NSKeyedArchiver NSKeyedUnarchiver
在构建应用程序时,有一个重要的问题是如何在每次启动之间持久化数据,以便重现最后一次关闭应用前的状态.在iOS和OS X上,苹果提供了三种选择:Core Data.属性列表(Property List) ...