`

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

阅读更多

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();
	};
}

 

分享到:
评论
1 楼 zqb666kkk 2014-10-14  
ajaxForm是 第三方插件的方法?

相关推荐

    弹出层关闭父页面刷新

    在网页开发中,有时我们需要实现一个功能:当一个弹出层(通常是模态窗口或对话框)被关闭时,能够自动刷新其父页面的内容。这个功能常见于数据编辑或者信息确认场景,用户在子窗口中完成操作后,返回父页面看到最新...

    jquery弹出层不关闭 父页面刷新

    在IT领域,尤其是在Web开发中,"jquery弹出层不关闭 父页面刷新"是一个常见的交互需求。这里,我们主要讨论如何使用jQuery实现这样的功能,即在一个弹出层(通常是一个模态对话框)显示时,用户可以操作父页面而不会...

    artdialog弹出层

    **artDialog弹出层**是一种常用的前端对话框插件,它在网页中提供了一种优雅的方式来展示信息、警告、确认或获取用户输入。这个插件以其丰富的定制选项、良好的可扩展性和高性能而受到开发者的青睐。`artDialog` 的...

    demo_DEMO_子页面刷新父页面iframe_

    子页面向`window.parent`发送消息,然后在父页面中监听`message`事件,接收到消息后执行刷新操作。例如,在子页面: ```javascript window.parent.postMessage('refresh', '*'); ``` 在父页面: ```javascript ...

    asp.net表单验证及artDialog弹出框

    例如,当用户提交的表单数据无效时,可以通过artDialog弹出一个提示框,清晰地显示错误信息,而不是简单地显示红色边框或错误消息。 总的来说,理解并熟练掌握ASP.NET的表单验证机制以及如何利用像artDialog这样的...

    弹出框artDialog4.1.6.zip

    - 可以通过回调函数处理弹出框关闭后的逻辑。 7. **优化与扩展** 虽然artDialog已经非常完善,但开发者还可以根据需求对其进行二次开发,如添加自定义皮肤、扩展功能模块等,以满足项目的特定需求。 总结来说,...

    artDialog弹出模式窗API

    `artDialog弹出模式窗API`是一款在Web开发中广泛应用的JavaScript库,它为开发者提供了丰富而强大的对话框功能。这个API允许你创建各种类型的弹出窗口,包括但不限于提示、确认、询问等,使得网页交互更加直观且美观...

    artDialog弹出层插件

    **artDialog弹出层插件**是一个常用的JavaScript插件,用于在网页中创建各种弹出对话框。这个插件的设计目标是提供一个高度可定制、轻量级且易于使用的解决方案,帮助开发者快速实现诸如提示、确认、警告以及复杂的...

    artDialog页面弹出框

    artDialog的特殊UI框架能够适应内容变化,甚至连外部程序动态插入的内容它仍然能自适应,因此你不必去考虑消息内容尺寸使用它。它的消息容器甚至能够根据宽度让文本居中或居左对齐——这一切全是XHTML+CSS原生实现。

    jquery 弹出框插件artDialog

    **jQuery弹出框插件——ArtDialog** ArtDialog是一款基于jQuery的高级对话框插件,它为网页开发者提供了丰富的弹出框解决方案。ArtDialog不仅功能强大,还具有良好的易用性和可扩展性,使得在网页中创建各种类型的...

    open 关闭子页面刷新父页面

    根据给定的代码片段和描述,“open关闭子页面刷新父页面”这一主题涉及到的关键知识点主要包括:使用JavaScript打开新窗口、父窗口与子窗口之间的通信,以及通过特定事件触发父窗口的刷新。 ### 使用JavaScript打开...

    easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值

    综上所述,EasyUI弹出窗口的传值与调用父页面方法涉及到前端页面交互的基本技术,理解并熟练掌握这些技巧对于前端开发者来说至关重要。通过正确使用这些方法,可以有效地实现页面间的数据流动和功能协同,提升用户...

    弹出一个层(禁止刷新父页或允许刷新)5种实现方法

    同时,你可以结合JavaScript来处理刷新事件,如在打开弹出层时存储状态,并在页面刷新后根据状态恢复弹出层。 4. **HTML5 Web Storage**: 利用HTML5的`localStorage`或`sessionStorage`,可以在浏览器端持久保存...

    JS无刷新弹出确认框

    在网页中,我们经常需要实现无刷新的弹出确认框,以在用户进行关键操作前获取他们的确认,例如删除或修改数据。这种效果通过JS可以轻松实现,而无需每次操作都刷新整个页面,提高了用户体验。 无刷新弹出确认框的...

    jquery easyui 表头固定 datagrid 弹出框 AJAX刷新页面

    标题 "jquery easyui 表头固定 datagrid 弹出框 AJAX刷新页面" 涉及的是在网页开发中使用jQuery EasyUI库实现的功能。jQuery EasyUI是一个基于jQuery的UI框架,它提供了一系列易于使用的组件,如datagrid(数据网格...

    artDialog 弹出层插件(4星级)

    `artDialog`是一款在前端开发中广泛使用的弹出层插件,它以其高度可定制性、优雅的设计和良好的用户体验赢得了4星级的评价。本文将深入探讨`artDialog`的核心特性、使用方法以及常见应用场景,帮助开发者更好地理解...

    登录弹出框JS网页特效

    登录弹出框是网页设计中常见的一种交互元素,主要用于用户身份验证或收集用户信息。在JavaScript(JS)的帮助下,我们可以创建动态、响应式的登录弹出框,提升用户体验。本资源"登录弹出框JS网页特效"很可能是提供了...

    基于jQuery的artDialog 弹出窗插件效果 4.1.7.zip

    《基于jQuery的artDialog弹出窗插件效果详解——4.1.7版本解析》 在Web开发中,用户交互的界面设计与实现是至关重要的,而弹出窗口作为常见的一种交互方式,被广泛应用于通知、确认、设置等场景。jQuery的artDialog...

    js弹出一个新页面并获得弹出页面的值

    根据提供的文件信息,本文将详细解释如何使用JavaScript在父页面中弹出一个新的窗口,并从这个新弹出的窗口中获取数据。此技术常用于需要在当前页面与另一个页面之间进行数据交互的应用场景。 ### 一、理解弹窗原理...

    artDialog 2 漂亮的网页弹出框插件升级版

    **artDialog 2 网页弹出框插件详解** `artDialog 2` 是一个功能强大且美观的网页对话框插件,专为提升网页用户体验而设计。这款插件以其优雅的界面和丰富的定制选项深受开发者喜爱,是前端开发中的得力工具。在本文...

Global site tag (gtag.js) - Google Analytics