位置: 编程技术 - 正文

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实现登录功能)

  • 个人开具服务费发票税率
  • 税务基本任务和稽查范围?
  • 哪些保险保障基金可税前扣除
  • 小企业会计制度科目和2013年小企业会计准则科目的区别
  • 运动会奖品有什么
  • 年终奖计入工伤赔偿
  • 期末未缴税额为负数怎么办
  • 标准成本法核算方法
  • 差旅费超支金额允许报销吗
  • 二手设备进口海关
  • 外贸企业人民币结算
  • 不动产拍卖税费怎么计算
  • 房改房继承需要原单位开证明吗
  • 可转债税前收益和税后收益
  • 支付的专家费怎么入账
  • 预收账款抵扣怎么做分录
  • 教育培训行业怎么办
  • 工厂新增项目需要立项、环境评价
  • 消费税税目是否含税
  • 收到投资的会计科目
  • 购买方现金折扣计入什么科目
  • 如何修改电脑默认打印机
  • 未开票收入冲回如何做账
  • 怎么进入bios设置界面设置内存
  • harmonyos2.0.0怎么用
  • 收到供应商现金怎么入账
  • ErrorCaptureStackTrace(err); Error [ERR_MODULE_NOT_FOUND]: Cannot find module
  • 加工制造业包括
  • 股份支付的确认和计量原则
  • 净亏损会影响所有者权益吗
  • vue3微前端
  • php写json
  • 单元测试的测试工具
  • vue路由怎么实现
  • 预扣预缴申报未缴税款
  • 公司转让后原账本怎么处理
  • 设置sql server的安全认证模式为混合认证模式
  • 一般纳税人开普票税率是多少
  • 什么是外汇业务,外币业务主要内容有哪些
  • 商品流通环节包括
  • 转让负债 增值税
  • 工作服入什么科目类别
  • 经营费用属于什么类科目
  • 当月费用次月报销
  • 税控盘减免税款月末不用交税还要结转吗
  • 其他权益工具投资公允价值变动计入什么科目
  • 货物赔偿款计入什么会计科目
  • 固定资产为
  • 预付账款借方如何结转
  • 收到赠送样品如何入账
  • 财务费用利息收入怎么记账
  • 库存商品暂估入库是什么意思
  • 如果以前做了错事怎么办
  • 月报报表格式
  • 服务器上文件共享
  • windows优化软件哪个好
  • windows软件包2012能删吗
  • win8系统教程
  • mac桌面应用
  • WFXMOD32.EXE - WFXMOD32是什么进程
  • ip地址有冲突怎么查看
  • xp系统怎么调性能
  • Win10最新版下载天翼云盘
  • 在Linux下HTTPie工具的使用教程
  • windows10运用
  • linux挂载的概念
  • button button button
  • nodejs重命名文件
  • unity怎么新建项目
  • 重写SimpleAdapter的getView以实现按钮点击响应
  • 15个值得开发人是谁
  • 江西国税发票查询官网
  • 车位办房产证需交多少税
  • 上海税务网上报税
  • 购置税完税证明在哪里打印
  • 水利优惠政策
  • 耕地占用税 湖北
  • 山东社保费缴纳多少
  • 代理记账资质办理在哪个网站提交申请
  • 税务总局2016年70号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设