位置: 编程技术 - 正文

JS 模态对话框和非模态对话框操作技巧汇总(js 模态对话框和对话框)

编辑:rootadmin
模态窗口 javascript 技巧汇总(传值、打开、刷新) 1、要弹出的页面中,一定要保证<head></head>标签间有<base target=“_self”>,否则会弹出的模态窗口上,点击按钮时,会再次弹出一个新页面。 2、被弹出页面的按钮的事件处理中,应该有Response.Write(new Function().ClosePage());语句,用以关闭当前的模态窗口。 3、因为幽默的缓存原因,如果你在模态窗口中修改了数据,你会发现,父页面上的数据刷新了,但是当你再点击按钮,重新弹出模态窗口时,你会发现模态窗口中的内容还是上次的内容,经过我试验,手动改了html代码后,点击弹出的模态窗口还是弹出相同的页面,所以,这里要绕开这个机制,方法是在被弹出的aspx页面后加上随机参数。上面模态窗口代码可以改成如下,以避免此问题: 注意红字部分参数,是自定义的一个参数,此参数应该是整个项目中唯一的变更名称,并且无意义(最保险的办法是把这个变更命名为lakjsdflawdfqwoifa之类的名称)。 基本上,满足了上述条件,做页面时就操作模态窗口,相对就简单了。 //------------------------------------------------------------------------------------------------------------- 模态窗口——有时会让你觉得很好用的一个东西关于showModalDialog和showModelessDialog的使用,一个b/s结构的项目中用window.open弹出的窗口被一些广告拦截工具给拦截了,没办法就只能用showModalDialog来解决问题,但showModalDialog这个方法不好的就是页面间传值太麻烦(传值有两种方法),可是实在没其他的办法来解决这个拦截问题,只有用这个了。代码到是两下就写好了,但调试代码的时候发现一个问题,用showModalDialog弹出的窗口中的内容一直是第一次访问页面时显示的内容,开始就怀疑是窗体调用的页面缓存,最后通过单步跟踪调试也证明了问题确实是读取的页面缓存,这说明了在asp.net中用showModalDialog和showModelessDialog做弹出窗体时最好在page_load事件加上 来清除缓存。用asp,php,js,vbscript测试使用showModalDialog方法没有出现需要清除缓存的情况,大家可以放心使用,关于showModalDialog的时候可以参见下面我找到的详细介绍 showModalDialog和showModelessDialog使用心得 一、showModalDialog和showModelessDialog有什么不同?   showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。   showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P) 二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?   在被打开的网页里加上<base target="_self">就可以了。这句话一般是放在<html>和<body>之间的。 三、怎样才刷新showModalDialog和showModelessDialog里的内容?   在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠javascript了,以下是相关代码: <body onkeydown="if (event.keyCode==){reload.click()}"> <a id="reload" href="filename.htm" style="display:none">reload...</a>   将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要配合<base target="_self">使用,不然你按下F5会弹出新窗口的。 注意:如果想当访问的时候自动刷新,可以在被打开得页面,设置一个记录变量,当被打开模态窗口得时候,变量至1,然后使用上述方法刷新模态窗口,当关闭窗口得时候,变量至0. 四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。   <input type="button" value="关闭" onclick="window.close()">   也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。 五、showModalDialog和showModelessDialog数据传递技巧。   例子:     现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name       一般的传递方式:         window.showModalDialog("filename.htm",var_name)         //传递var_name变量       在showModalDialog(或showModelessDialog)读取和设置时:         alert(window.dialogArguments)//读取var_name变量         window.dialogArguments="oyiboy"//设置var_name变量     这种方式是可以满足的,但是当你想在操作var_name同时再操作第二个变理var_id时呢?就无法再进行操作了。这就是这种传递方式的局限性。            以下是我建议使用的传递方式:         window.showModalDialog("filename.htm",window)         //不管要操作什么变量,只直传递主窗口的window对象       在showModalDialog(或showModelessDialog)读取和设置时:         alert(window.dialogArguments.var_name)//读取var_name变量         window.dialogArguments.var_name="oyiboy"//设置var_name变量         同时我也可以操作var_id变量         alert(window.dialogArguments.var_id)//读取var_id变量         window.dialogArguments.var_id=""//设置var_id变量         同样还可以对主窗口的任何对象进行操作,如form对象里的元素。         window.dialogArguments.form1.index1.value="这是在设置index1元素的值" 在弹出窗口中返回值:window.returnValue = ... ; 六、多个showModelessDialog的相互操作。   以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位置。   主文件的部份js代码。   var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px") //打开控制窗口   var s2=showModelessDialog('about:blank',window,"dialogTop:px;dialogLeft:px")  //打开被控制窗口   控制.htm的部份代码。   以上关键部份是:     窗口命名方式:var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px")     变量访问方式:window.dialogArguments.s2.dialogTop   这个例子只是现实showModelessDialog与showModelessDialog之间的位置操作功能,通过这个原理,在showModelessDialog之间相互控制各自的显示页面,传递变量和数据等。这要看各位的发挥了。 ==================================================================== window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。 window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。 使用方法: vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures]) 参数说明: sURL--必选参数,类型:字符串。用来指定对话框要显示的文档的URL。 vArguments--可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。 sFeatures-- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。 1.dialogHeight :对话框高度,不小于px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5以上是px,为方便其见,在定义modal方式的对话框时,用px做单位。 2.dialogWidth: 对话框宽度。 3.dialogLeft: 离屏幕左的距离。 4.dialogTop: 离屏幕上的距离。 5.center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。 6.help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。 7.resizable: {yes | no | 1 | 0 } 〔IE5+〕:是否可被改变大小。默认no。 8.status: {yes | no | 1 | 0 } 〔IE5+〕:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。 9.scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。 下面几个属性是用在HTA中的,在一般的网页中一般不使用。 .dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。 .edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。 .unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。

推荐整理分享JS 模态对话框和非模态对话框操作技巧汇总(js 模态对话框和对话框),希望有所帮助,仅作参考,欢迎阅读内容。

JS 模态对话框和非模态对话框操作技巧汇总(js 模态对话框和对话框)

文章相关热门搜索词:js 模态对话框和对话框,js打开模态窗口,模态对话框原理,js弹出模态对话框,模态对话框原理,js弹出模态对话框,js 模态对话框和对比框,js 模态对话框和文本框,内容如对您有帮助,希望把文章链接给更多的朋友!

JS中 用户登录系统的解决办法 当用户输入pwd密码是就跳到第二个页面,4秒后,自动跳转到第三个页面login.htmlhtmlheadmetahttp-equiv="Content-Type"content="text/html;charset=utf-8"scripttype="text/javasc

简易js代码实现计算器操作 htmlheadtitleJS版计算器/titlelinkrel="stylesheet"type="text/css"href=""metahttp-equiv="content-type"content="text/html;charset=utf-8"!--js代码可以放置在任意位置,按照先后顺序依

Javascript中 关于prototype属性实现继承的原理图

标签: js 模态对话框和对话框

本文链接地址:https://www.jiuchutong.com/biancheng/377675.html 转载请保留说明!

上一篇:js作用域及作用域链概念理解及使用(js有哪些作用域,分别是什么意思)

下一篇:JS中 用户登录系统的解决办法(js实现登录功能)

  • 个体的个人所得税怎么算
  • 用房租入股
  • 车辆保险车船税怎么做会计分录
  • 制造业的税率是多少啊
  • 报关单上消费使用单位可以交税么
  • 无法上报季度财务报告
  • 汇票的票据行为有贴现吗
  • 外币借款汇兑差额资本化额怎么计算
  • 充值给予的优惠怎么用
  • 工程改造合同印花税
  • 出口退税的企业范围
  • 个体工商户的税收优惠政策有哪些
  • 酒店的床和沙发哪个好
  • 房地产预收房款怎么开票
  • 保理利息开具增值税专用发票
  • 汇算清缴已退税的还可以作废吗
  • 会计做账中记账表怎么做
  • 录入凭证利息收入负数怎么录入?
  • 递延所得税资产是什么
  • 正常工资薪金本期收入含哪些
  • 会计报表附表属于会计报表内容吗
  • 合伙人退伙资产清算需要交税吗
  • 关于房屋租赁备案的通知
  • 培训机构的收入有哪几方面
  • SymSPort.exe - SymSPort是什么进程 有何作用
  • 印花税减免需要做账吗现在
  • 开启开发人员模式的方法
  • windowsserver2019安装教程
  • 好的投资理财项目
  • 销售固定资产税目
  • php对接微信支付教程
  • 全年一次性奖金计税方式
  • 卖出回购证券的钱怎么算
  • 委托代建的法律规定
  • 废旧物资回收税收优惠政策2022
  • php cache缓存
  • css中文字垂直排列
  • laravel 实例
  • 去年计提的费用所得税汇算清缴之前冲销就不调整吗
  • chage -l命令
  • mysql全局锁和表锁
  • 金税盘减免税款借方余额
  • 开通对公账号怎么办理
  • 坏账准备的账务处理例题视频讲解
  • 营业成本的构成
  • 企业如何采购
  • sqlserver2016维护计划
  • 民办非企业单位是私立还是公立
  • 月未转出未交增值税
  • 超市的库存商品是怎么记账的
  • 背书是什么含义
  • 以前年度损益调整会计分录
  • 有限合伙企业中谨慎有限合伙人的应当
  • 法院案件受理费退费申请
  • 成立教育培训司
  • 企业不加入工会的原因
  • 进项票超期未认证怎么办
  • 本期摊余成本
  • 投资性房地产是固定资产吗
  • 建账需要买哪些会计用品
  • mysql几天能学会
  • sql语句大全实例教程.pdf
  • bios详细解释
  • win8怎么进系统
  • 远程文件管理器
  • win10右下角的图标点不开
  • linux怎么格式化硬盘
  • win7开机提示重启怎么办
  • 安卓注入工具
  • jquery移动节点的方法
  • 批处理传输文件夹到ftp
  • Unity for Absolute Beginners(二)
  • js 仿真
  • python3.8基础教程
  • jqgrid loadcomplete
  • 北京市税务协会领导
  • 江西税务局
  • 企业交社保可以退税吗
  • 江苏地税网站查询系统
  • 如何做好巡察组组员
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设