ajax弹出窗口
提取自ZCMS的弹出框:
- 代替window.open、window.alert、window.confirm;提供良好的用户体验;
- 水晶质感,设计细腻,外观漂亮;
- 兼容ie6/7/8、firefox2/3、Opera;弹出框在ie6下不会被select控件穿透;
- 无外部css文件,引用Dialog.js即可使用;
- 对iframe下的应用作了充分考虑,适合复杂的系统应用;
- Dialog显示的内容(三种):1、指向一个URL的iframe窗口;2、页面内隐藏的元素中的html内容;3、直接输出一段html内容;
- 按ESC键可关闭弹出框;
主调函数参数说明:
Dialog.open(({ID,Title,URL,InnerHtml,InvokeElementId,Width,Height,Top,Left,Drag,OKEvent,ShowButtonRow,MessageTitle,Message,AutoClose})
- ID:窗口id号,可省略。每个窗口的id必须是唯一的不能重复。
- Title:窗口标题。如不写此项默认值为。
- URL: 窗口内容页地址,或使用相对路径或绝对路径,注意如果使用http://www.host.com形式的绝对地址,则http://不能省略。
- InnerHtml: 窗口内容html代码,用于直接输出html内容,注意不要让生成的内容因为不适当的宽度或定位方式而破坏了Dialog的外观。
- InvokeElementId: 本页面内隐藏的元素的id,用于显示页面内隐藏的元素中的html内容,注意不要让内容因为不适当的宽度或定位方式而破坏了Dialog的外观。
- Width:窗口宽度(dialog内容区宽度),值为数值型,默认值为窗口可见宽的40%。
- Height:窗口高度(dialog内容区高度),值为数值型,默认值为窗口可见宽的20%。
- Left:窗口距浏览器左边距离,值为数值型或字符串型(当使用百分比时为字符串型),如Left:"0%",Top:"0%"为左上,Left:"50%",Top:"50%"为居中,Left:"100%",Top:"100%"为右下。
- Top:窗口距浏览器顶端距离,值为数值型或字符串型(百分比)。
- Drag:是否允许拖动窗口,值为布尔型(true|false),默认值为true,注意需要页面引用了Drag.js。
- OKEvent:点击确定按钮后执行的函数。
- CancelEvent:点击取消按钮或点击关闭按钮后执行的函数,默认为关闭本Dialog。
- ShowButtonRow:是否不显示按钮栏,值为布尔型(true|false),默认值为false,当定义了OKEvent或调用了addButton时自动设为true。
- MessageTitle,Message:自定义的窗口说明栏中的小标题和说明。
- ShowMessageRow:是否显示窗口说明栏,值为布尔型(true|false),默认值为false,当定义了MessageTitle或Message时自动设为true。
- AutoClose:是否自行关闭,值为数值型,默认值为false。不从缓存加载内容页主要是用于每次加载的页面都是最新页面。
- OnLoad:窗口内容载入完成后执行的程序,值为函数型。
1. 普通窗口
Dialog.open({URL:"javascript:void(document.write('这是弹出窗口中的内容'))"});
2. 设定了高宽和标题的普通窗口
var diag = new Dialog();
diag.Width = 600;
diag.Height = 300;
diag.Title = "设定了高宽和标题的普通窗口";
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
3. 内容页为外部连接的窗口
var diag = new Dialog();
diag.Width = 900;
diag.Height = 400;
diag.Title = "内容页为外部连接的窗口";
diag.URL = "http://demo.zving.com/";
diag.show();
4. 内容页为html代码的窗口
var diag = new Dialog();
diag.Width = 300;
diag.Height = 100;
diag.Title = "内容页为html代码的窗口";
diag.InnerHtml='<div style="text-align:center;color:red;font-size:14px;">直接输出html,使用 <b>InnerHtml</b> 属性。</div>'
diag.OKEvent = function(){diag.close();};//点击确定后调用的方法
diag.show();
5. 内容页为隐藏的元素的html内容
var diag = new Dialog();
diag.Width = 300;
diag.Height = 150;
diag.Title = "内容页为隐藏的元素的html";
diag.InvokeElementId="forlogin"
diag.OKEvent = function(){$id("username").value||alert("用户名不能为空");$id("userpwd").value||alert("密码不能为空")};//点击确定后调用的方法
diag.show();
6. 在调用页面按钮关闭弹出窗口
var diag = new Dialog();
diag.Modal = false;
diag.Title = "弹出没有遮罩层的窗口";
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
关闭窗口按钮代码: Dialog.close();
7. 在指定位置弹出窗口
var diag = new Dialog();
diag.Width = 200;
diag.Height = 100;
diag.Modal = false;
diag.Title = "在指定位置弹出窗口";
diag.Top="100%";
diag.Left="100%";
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
注:可使用数字或百分比(带百分比符号的字符串)来定义相对于当前窗口的位置,换算效果同css中用百分比定义背景图位置,如Left:"0%",Top:"0%"为左上,Left:"50%",Top:"50%"为居中,Left:"100%",Top:"100%"为右下。
8. 返回值到调用页面
var diag = new Dialog();
diag.Title = "返回值到调用页面";
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.OKEvent = function(){$id('getval').value = diag.innerFrame.contentWindow.document.getElementById('a').value;diag.close();};
diag.show();
var doc=diag.innerFrame.contentWindow.document;
doc.open();
doc.write('<html><body><input id="a" type="text"/>请在文本框里输入一些值</body></html>') ;
doc.close();
9. 代替window.alert及window.confirm
Dialog.alert("提示:你点击了一个按钮");
Dialog.confirm('警告:您确认要XXOO吗?',function(){Dialog.alert("yeah,周末到了,正是好时候")});
10. 创建其它按钮
var diag = new Dialog();
diag.Title = "创建其它按钮";
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
diag.addButton("next","下一步",function(){
var doc=diag.innerFrame.contentWindow.document;
doc.open();
doc.write('<html><body>进入了下一步</body></html>') ;
doc.close();
})
11. 带有内容说明栏的新窗口
var diag = new Dialog();
diag.Title = "带有说明栏的新窗口";
diag.Width = 900;
diag.Height = 400;
diag.URL = "http://demo.zving.com/";
diag.MessageTitle = "泽元网站内容管理系统";
diag.Message = "泽元网站内容管理系统是一个基于J2EE及AJAX技术的企业级网站内容管理系统";
diag.show();
12. 显示窗体内容页面标题
var diag = new Dialog();
diag.URL = "http://demo.zving.com/";
diag.show();
注:如果窗体内为iframe内容页,并且没有设置Title属性,并且引用页和当前页在同一个域内,则显示显示窗体内容页面标题。
13. 在弹窗的内容载入完成后,执行方法
var diag = new Dialog();
diag.OnLoad=function(){alert("页面载入完成")};
diag.URL = "http://demo.zving.com/";
diag.show();
注:如果窗体内为iframe内容页,要在载入完成后对内容页作操作,必须考虑访问权限,如引用页和当前页应在同一个域内。
14. 点击取消及关闭时执行方法
var diag = new Dialog();
diag.Title = "点击取消或关闭按钮时执行方法";
diag.CancelEvent=function(){alert("点击取消或关闭按钮时执行方法");diag.close();};
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
15. 不允许拖拽
var diag = new Dialog();
diag.Drag=false;
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
16. 动态改变窗口大小
var diag = new Dialog();
diag.Title = "修改中窗体尺寸";
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.OKEvent = function(){
var doc=diag.innerFrame.contentWindow.document;
doc.open();
doc.write('<html><body>窗口尺寸改为600*300</body></html>') ;
doc.close();
diag.setSize(600,300);
};
diag.show();
diag.okButton.value="改变窗口大小"
17. 弹出窗口自动关闭
var diag = new Dialog();
diag.AutoClose=5;
diag.ShowCloseButton=false;
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
注:AutoClose为自动关闭时间,单位秒
18. 设置确定按钮及取消按钮的属性
var diag = new Dialog();
diag.Title="设置确定按钮及取消按钮的属性";
diag.ShowButtonRow=true;
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
diag.okButton.value=" OK ";
diag.cancelButton.value="Cancel";
19. 窗体内的按钮操作父Dialog
var diag = new Dialog();
diag.Title = "窗体内的按钮操作父Dialog";
diag.URL = "javascript:void(document.write('这是弹出窗口中的内容'))";
diag.show();
var doc=diag.innerFrame.contentWindow.document;
doc.open();
doc.write('<html><body><input type="button" id="a" value="修改父Dialog尺寸" \
onclick="parentDialog.setSize(function(min,max){return Math.round(min+(Math.random()*(max-min)))}(300,800))" \
/><input type="button" id="b" value="关闭父窗口" onclick="parentDialog.close()" /></body></html>') ;
doc.close();
ajax弹出窗口的更多相关文章
- ASP.NEt ajax 弹出窗口在页面无法关闭
<meta http-equiv="X-UA-Compatible" content="IE=9" /> 今天又有客戶投訴公司的網頁有問題. ...
- jquery-通过js编写弹出窗口
本文转载 本文主要是通过js动态控制div的高度,css控制浮动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...
- window.open()弹出窗口防止被禁
window.open(),顾名思义,是指在当前浏览器窗口弹出另一个浏览器窗口. 因为多种原因,浏览对window.open弹出的窗口做了多方限制.限制不同,肯定会造成各浏览器弹出窗口的差异. 大部分 ...
- Extjs4.2如何实现鼠标点击统计图时弹出窗口来展示统计的具体列表信息
var pageSize = 20;//初始化每页数据条数 var winTitle = '';//初始化窗口标题 /** *点击统计图时,弹出一个窗口,显示统计的详情列表信息, *该方法为项目中所有 ...
- jQuery弹出窗口完整代码
jQuery弹出窗口完整代码 效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/1.htm 1 <!DOCTYPE html PUBLIC "- ...
- jQuery插件---轻量级的弹出窗口wBox
Box Demo wBox——轻量级的弹出窗口jQuery插件,基于jQuery1.4.2开发,主要实现弹出框的效果,并且加入了很多有趣的功能,比如可img灯箱效果,callback函数,显示隐藏层, ...
- JQuery-Dialog(弹出窗口,遮蔽窗口)
在Ajax中经常用到的弹出窗口和遮蔽窗口.自己写肯定是一个最佳方案,但时间和成本上,还是决定了寻找现成的吧.大概罗列一下.需要我满足我几个条件 一定要简洁方便 拥有遮蔽功能,Model Dialog ...
- jquery Jbox 插件实现弹出窗口在修改的数据之后,关闭弹出窗口刷新父页面的问题
http://blog.csdn.net/nsdnresponsibility/article/details/51282797 问题如题: 这里我们在父页面定义一个全局的变量来标识是否需要刷新父页面 ...
- js实现弹出窗口+遮罩层+tab切换
[功能1]点击约谈按钮,弹出对话框和遮罩层(自己的叫法 专业叫法没有查) [部分重点代码] [下面的方法] (1)获取系统时间如何实现(2)点击如何实现弹出窗口和遮罩层 $(".date_n ...
随机推荐
- 5、第5节课CSS补充和html 标签讲解20150924
1. DIV 隐藏 A: 隐藏之后不占位置 display:none; B:隐藏之后占位置 visibility:hidden; 2.DIV 排序 z-index:2; 默认是1,如果想DIV在上 ...
- php调试mysql信息。
print_r(mysql_error());会返回执行myql的成功或者失败的信息.数据库的编码方式是UTF-8.获取手机号,返回的页面的编码是gb2312.需要转换
- SQL 语句修改列名 属性 默认值
--修改字段名exec sp_rename '表名.列名','新列名' --修改字段属性alter table 表名 alter column 列名 nvarchar(100) null; --修改默 ...
- eclipse - copy类的全名
由于多次操作,感觉eclipse应该提供这个功能,网上搜一下,发现需要安装插件. 下载地址为 http://www.jave.de/eclipse/copyfully/copyfully_1.2.0. ...
- 张羿给的删除重复数据的mssql语句
select count(1), gsdm, idfrom ods_sc.T_D_DEVICE_COMMONgroup by gsdm, idhaving count(1) > 1; delet ...
- Struts2 模型驱动及页面回显
* 要从页面中获取表单元素的值,需要在动作类中声明与页面元素同名的属性.导致动作类中既有javabean又有业务方法. * 将javabean和业务方法进行分离: * 将重 ...
- java编程小技巧
1.缩进与反缩进 缩进:tab 反缩进:shift+tab 2.整段注释和取消整段注释 整段注释:ctrl+shift+/ 取消整段注释:ctrl+shift+\
- UML中聚合和组合的区别
聚合 聚合其实是关联的一个特例,表示了两个对象之间“part of(部分-整体)”的关系,是一种弱关联,部分的生命周期可以超越整体.在UML中,用整体端有空心菱形箭头的双向关联修饰聚合.聚合的示例如下 ...
- css样式-ime-mode text-transform
今天遇到一个新的css样式: ime-mode text-transform 有效小作用 取值:auto : 默认值.不影响ime的状态.与不指定 ime-mode 属性时相同 active : ...
- Gradle一分钟实现Spring-MVC
前提: 1,已安装JDK 2, 有Intellij IDEA 3, 已安装Gradle 一分钟实现步骤: 1,mkdir Spring-MVC;cd Spring-MVC2,gradle init3, ...