IT技术-群英社

artDialog 弹出框插件,或者说是弹出对话框插件,需要对弹出后的对话框操作?artDialog的控制接口就是用来干这些事情的,这在异步消息操作中非常有用。 artDialog功能特性: 自适应内容、强大的接口配置参数、细致的体验、预先缓存皮肤图片更快响应、跨平台兼容兼容:IE6+、Firefox、Chrome、Safari、 Opera。并且IE6下也能支持现代浏览器的静止定位(fixed)、覆盖下拉控件、alpha通道png背景等,而且在artDialog弹出框插件 中,框架应用扩展将完全被简化。

最近项目中有使用到artDialog,遇到一些问题:

1:弹窗open一个新页面,在点击弹窗的确定按钮时保存数据并关闭该弹出框并刷新父页面。

下面有个例子,转载于zhangwu

打开编辑页面代码,确定事件调用了页面上隐藏的btnsave按钮。art.dialog.open(url, {id: 'pg123',title: strtitle, lock: false, width: wid, height: hei,ok: function () {var iframe = this.iframe.contentWindow;iframe.document.getElementById("btnsave").click();return false;},cancel: true});保存后调用function showtip2(str) {art.dialog.tips(str, 1.5);setTimeout('originreload()', 1000);}function originreload(){var win = art.dialog.open.origin;//来源页面win.location.reload();}刷新父窗体,自动关闭弹出窗体。

以上代码我使用后还是有问题,在保存时调用方法sumitModelForm(),在其后调用showtip2("操作成功!");后,数据保存了,但是窗口未关闭。

function sumitModelForm(){if($("#modelForm").valid()){$("#modelForm").submit();}}

经过检查+不断测试,发现ajaxForm可以完善该功能。我之前是直接form.submit()的。

修改代码如下:

1)在弹窗新开页面引入jquery.form.js 以及 artDialog库;

2)后台操作后使用response.getWrite().print("success")来表示操作成功等;

3)父页面弹窗代码

var alt=null;
function openAddUser(operId){alt = art.dialog.open("openSavePage.do?operId="+operId, {id:'evaluate'+operId,title: '新增用户',width :500,height:320,lock : true,opacity : 0.4,init: function () {},button :[{name : '确定',callback : function(){var iframe = this.iframe.contentWindow;if (!iframe.document.body) {return false;};iframe.sumitModelForm();return false;},focus : true},{name : '取消',callback : function(){this.close();}}],cancel: true});
}

4)子页面代码

$(document).ready(function(){$("#modelForm").validate({errorClass:"text-error"});var options = {success: function(data) {if(data=="success"){showTip("操作成功","succeed");}else{showTip("操作失败","warning");}}};$('#modelForm').ajaxForm(options);
});
//提交form
function sumitModelForm(){$('#modelForm').submit();
}
//消息提示
function showTip(mess,icon) {art.dialog.through({id : 'Tip',title : '消息',fixed : true,lock : true,opacity: .2,content : mess,icon : icon,time : 1});setTimeout('originReload()', 1000);
}
//重载来源页面
function originReload(){var win = art.dialog.open.origin;win.location.reload();
}
<form id="modelForm" method="post" action="save.do">...编辑域...
</form>

以上代码,通过artdialog弹出form表单,并通过ajaxform来提交的js(表单可以采用jquery validate验证控件来验证表单),达到了我想要的效果。虽然比较曲折,对js还是得加强学习。

如果不想重装源页面,只想关闭dialog而已。

则使用一下方法closeAllDialog()替换掉之前的originReload()方法即可

//关闭源页面上的所有dialog
function closeAllDialog(id) {//获得弹出窗口的源页面var win = art.dialog.open.origin;var list = win.art.dialog.list;for (var i in list) {list[i].close();};
}

artDialog弹出新页面,保存后关闭弹出框并刷新父页面相关推荐

  1. php提交后刷新父页面,jquery – php ajax表单提交没有刷新父页面

    我有一些问题的ajax表单提交 $("#send").on("click", function() { $.ajax({ type: "POST&qu ...

  2. 关闭弹出窗体,刷新父页面

    parent.location.reload(); window.opener.location.href=window.opener.location.href; 转载于:https://www.c ...

  3. jQuery子页面刷新父页面--局部刷新+整体刷新 [转]

    用的是_window.Open()方式打开的窗口(风声js的window插件打开子窗口) ,类似于window.open() //用于刷新父窗口整个页面 window.parent.location. ...

  4. jQuery子页面刷新父页面--局部刷新+整体刷新

    用的是_window.Open()方式打开的窗口(风声js的window插件打开子窗口) ,类似于window.open() //用于刷新父窗口整个页面 window.parent.location. ...

  5. Layer弹出层关闭后刷新父页面

    一.Layer弹出层关闭后刷新父页面 //编辑 $("#edit").on("click", function(){var id = getIdSelectio ...

  6. java弹框刷新原页面_JavaScript:关闭弹出窗口时刷新父窗口

    说明: 关闭弹出窗口时刷新父窗口也可以说是关闭子窗口时自动刷新父窗口中的信息,即用户通过window对象的open()方法打开一个新窗口(子窗口),当用 户在该子窗口中进行了数据库操作(如数据添加.修 ...

  7. js 弹出子页面与关闭子页面刷新父页面的问题

    在使用js弹出子页面并在关闭子页面的时候刷新父页面的时候遇到不能刷新的问题,为这个事郁闷了好久,在网上找相关的资料基本上都是使用window.opener.location.href=window.o ...

  8. layui+thymeleaf 点击弹框右上角叉号刷新父页面

    需求:在关闭弹框的时候,刷新父页面的内容,弹框没有确定和取消的按钮,只有右上方的叉号.实现:在父页面里掉子弹框的地方更改为下面代码: function importFun(title, url, w, ...

  9. window.showModalDialog关闭子页面后刷新父页面

    父页面方法: function addbz(id){         var url="${ctx}/erp/pmDesign/pmDesign/addBZ.ht?id="+id; ...

最新文章

  1. 对于表列数据类型选择的一点思考
  2. mongoDB 删除集合后,空间不释放的解决方法
  3. python自学免费课堂-推荐5个Python爬虫免费学习资源(B站高赞!)
  4. GirlFriendNotFoundException异常是怎样处理的?
  5. 表白记 BFS求最短路径
  6. 自动化测试用java还是python_现在自动化测试用Java好还是Python好?
  7. java中cell无法输出_java – iText 5.5.3 PDFPCell:长文本不适合单元格(不正确地包装文本)...
  8. java本地方法不能是final_Java final关键字
  9. Android权限管理原理
  10. 笔记本打开计算机不显示摄像头,笔记本电脑摄像头没有图像怎么回事_笔记本摄像头提示没有图像设备如何处理-win7之家...
  11. 产品推广都有哪些方法可以用?
  12. Tikhonov regularization 吉洪诺夫正则化
  13. 像把大象放入冰箱那样制造芯片
  14. 扬州大学c语言作业,扬州大学c语言0600706期末试题
  15. R语言学习笔记4_参数估计
  16. zcmu1275: Seeding
  17. 电脑更改桌面图标与图标文字的大小
  18. spring mysql_eclipse中spring访问mysql的简易实现-阿里云开发者社区
  19. BERT与知识图谱的结合——ERNIE模型浅析
  20. 想做好流程管理,你一定要知道这些

热门文章

  1. android自定义Glide图片加载(以更改Glide缓存路径和使用ARGB_8888的图片格式为例)
  2. OpenCV学习——实现滑动条式调色板
  3. 西安将建国家级服务外包示范区
  4. Heritrix1.14.4安装配置和使用
  5. 三星Galaxy camera刷机资料
  6. 关于计算机网络里的计量单位G\M\K
  7. 暑假学习14(7.29 周三)
  8. 全国仅三家!小红书平台授权卓尔数科核心代理商牌照
  9. 中文字符集与字符编码的基础知识[转载]
  10. (2016SDM) Risk Prediction with Electronic Health Records A Deep Learning Approach