javascript 关闭窗口,弹出新窗口并带有确认关闭对话框解决办法
在很多人眼里,北京是一个物欲横流的社会,生活节奏之快,让你一丝都不能停下来,走在路上伴随着人群急速往前涌,或许有些人都不知道要去哪、也不知道自己想要的是什么?在一个浮躁的社会里,多了一些浮躁的人,到处的寻找捷径,脚踏实地已经跑得无影无踪。
公司里项目一个接一个的上线,上线后一个接一个的出现问题,或许是我们该反思的时候了,在时间、质量、成本三者需要平衡的时候,我们总是会在时间和成本上做考虑,上线之前的演示只是一个纸老虎,其实离使用的程度差的很远,我们总会一开始把客户的欲望调得很高,但是种种的问题终究会在上线之后暴露出来,让客户产生一种落差,要想再逆转这种结局需要付出百倍的努力,每个人都是消防队员,哪里需要救火就到哪里去,远看形势一片美好,近看火海一拨比一拨高。
最近又调回公司做一个救火的项目,我主要负责在线报名部分,包括以下几个内容:
1、专业人士门票的索取
2、企业展会的报名
3、后台包括专业人士和企业展会的查询、搜索和导出。
功能上没有什么技术难点,但是必须在3天内上线,回来之后就开始了苦逼的生活,建表、建实体、写接口、数据库操作类、业务操作类,一切在掌控中进行。其中的企业展会包括参会企业信息和参会人员两部分,一个企业可能对应多个参会人员,经过考虑采用了以下布局模式:

点击继续添加参会人员,弹出一个模式窗口,

后台代码:
GCMS.Model.EntAttendPerson entAttendPerModel = new Model.EntAttendPerson();
GCMS.CMS.EntAttendInfo entAttend = new CMS.EntAttendInfo(); entAttendPerModel.Name = this.txtName.Value; if (!string.IsNullOrEmpty(Request.Form["Sex"]))
entAttendPerModel.Sex = int.Parse(Request.Form["Sex"]); entAttendPerModel.Job = this.txtJob.Value;
entAttendPerModel.Telphone = this.txtTelphone.Value;
entAttendPerModel.Mobile = this.txtMobile.Value;
entAttendPerModel.Email = this.txtEmail.Value; if (!string.IsNullOrEmpty(Request.Form["radAccomRequire"]))
entAttendPerModel.AccomRequire = int.Parse(Request.Form["radAccomRequire"]); if (!string.IsNullOrEmpty(Request.Form["txtAccomDateStart"]))
entAttendPerModel.AccomDateStart = DateTime.Parse(this.txtAccomDateStart.Value); if (!string.IsNullOrEmpty(Request.Form["txtAccomDateEnd"]))
entAttendPerModel.AccomDateEnd = DateTime.Parse(this.txtAccomDateEnd.Value);
entAttendPerModel.EntAttendNum = this.hidGuid.Value; int count = 0;
if (string.IsNullOrEmpty(Request.QueryString["id"]))
count = entAttend.AddEntAttendPer(entAttendPerModel);
else
{
entAttendPerModel.Id = int.Parse(Request.QueryString["id"]);
count = entAttend.UpdateEntAttendPer(entAttendPerModel);
}
this.Page.ClientScript.RegisterStartupScript(this.GetType(), String.Empty, "addEntAttendPerTip(" + count + ");", true);
前台js:
<head runat="server">
<title>中国智慧城市大会_在线报名</title>
<base target="_self" />
<script type="text/javascript">
window.onload = function a() {
//取得传入参数
var argu = window.dialogArguments;
if (argu) {
if (argu.guid != "") {
document.getElementById("hidGuid").value = argu.guid;
}
}
}
function addEntAttendPerTip(addCount) {
if (addCount > 0) {
alert("操作成功!");
var result = new Object();
result.IsAdd = addCount;
window.returnValue = result;
window.close();
}
else {
alert("操作失败!");
}
}
<script>
添加完成以后,刷新下面的列表。并可对列表中的参会人员进行编辑和删除。
在临近上线的时候,突然出现了一个问题,当在添加完参会人员关闭模式窗口的时候,”奇迹“出现了,在关闭的时候弹出了一个新的页面提示操作成功,并伴有是否关闭窗口的提示框,火狐中并不会出现问题,IE中会出现此问题,在胜利到来的时候,老天总会和你开一些玩笑,兵来将挡水来土掩,查找资料,原因就在于点击添加的时候,出现了一个新窗口而不是在原有的窗口上面完成添加操作,最后在在添加参会人员的模式窗体 head 中添加 <base target="_self" />,让页面自己去处理请求,问题迎刃而解。
javascript 关闭窗口,弹出新窗口并带有确认关闭对话框解决办法的更多相关文章
- jsp弹出新窗口代码
1.最基本的弹出窗口代码其实代码非常简单: <SCRIPT LANGUAGE="javascript"> <!-- window.open (page.html) ...
- js弹出新窗口居中
方式1: <script language="javascript"> var newUrl = <%=newUrl % > //window.locati ...
- 点击grid单元格弹出新窗口
实现功能:点击指定单元格后会弹出新窗口,并且最后一行合计不会触发单元格触发函数 <script type="text/javascript"> grid.on('cel ...
- js如何弹出新窗口
js如何弹出新窗口 时间:2012-4-22 弹出新窗口也是在网页设计中会经常用到的,其用法也很简单,是通过调用javascript的内置函数windows.open来产生的. window.ope ...
- window.open浏览器弹出新窗口被拦截—原因分析和解决方案
最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,在本机实验没问题,到了服务器就被拦截了,火狐有拦截提示,360浏览器拦截提示都没有,虽然在自己的环境可以对页面进行放行,但是对用户 ...
- chrome偶尔弹出新窗口的解决方案
最近使用谷歌浏览器,在搜索页点击搜索结果时,偶尔会弹出新窗口,而不是新标签,试验发现,只要将chrome里面安装的google drive app卸载就行了. 当然了,如果此方法不适合你的情况,还可以 ...
- 【WPF】监听WPF的WebBrowser控件弹出新窗口的事件
原文:[WPF]监听WPF的WebBrowser控件弹出新窗口的事件 WPF中自带一个WebBrowser控件,当我们使用它打开一个网页,例如百度,然后点击它其中的链接时,如果这个链接是会弹出一个新窗 ...
- 解决以showModalDialog打开的页面在提交表单时弹出新窗口的问题
源代码如下: 父页面: window.showModalDialog("../readfile/readFile.jsp","","dialogWid ...
- Bootstrap中关闭第二个模态框时出现的问题和解决办法
Bootstrap中关闭第二个模态框时出现的问题和解决办法 1.关闭第二个模态框时,第一个模态框跟着消失. 解决办法: 第二个模态框的代码不要写在第一个模态框里面,确保两个模态框相对独立; 2.关闭第 ...
- 微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法(转)
最近在做微信公众号的内嵌页面,发现点击输入框时键盘盖住文本框,找到一段代码解决了这个问题. iOS和android手机都已亲测,需要的可以直接拷贝到代码中使用. js代码如下: $(function ...
随机推荐
- [转] FDA批准首个莫米松植入式给药系统用于治疗慢性鼻窦炎
from: http://www.qqyy.com/jibing/erbihouke/111020/3fd2f.html http://www.chemdrug.com/news/231/5/2494 ...
- [转] Linux下查看文件和文件夹大小
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. du可以查看文件及文件夹的大小. ...
- iOS教你轻松打造瀑布流Layout
前言 : 在写这篇文章之前, 先祝贺自己, 属于我的GitHub终于来了. 这也是我的GitHub的第一份代码, 以下文章的代码均可以在Demo clone或下载. 欢迎大家给予意见. 觉得写得不错的 ...
- JPA事务回滚配置
<!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.or ...
- 堆和栈 内存分配 heap stack
Java中的堆和栈 在[函数]中定义的一些[基本类型的变量]和[对象的引用变量]都是在函数的[栈内存]中分配的.当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间, ...
- 7-ajax的同步和异步?
同步和异步统一根据send()执行的位置来实现分割逻辑同步:1.send()后统一不会被执行,直到http事务完成之后才会之后后续逻辑.2.堵塞send()方法的逻辑.异步:1.send()后面照样执 ...
- asp.net基础概念总结
1 什么是asp.net?asp.net是一种编程语言吗? asp.net是Microsoft公司推出的新一代建立动态web应用程序的开发平台,是一种建立动态web应用程序的新技术. 不是,asp. ...
- HTML5 Canvas Text文本居中实例
1.代码: <canvas width="700" height="300" id="canvasOne" class="c ...
- PHPexcel数据按模板导出
<?php header("Content-type: text/html; charset=gb2312"); error_reporting(E_ALL); ini_se ...
- 关于IO学习的几个函数
这是最近学到的几个关于IO文件操作的几个小算法,今天总结出来. 1. 删除一个给定的目录,这上目录不为空目录,使用递归来实现 public void test04(File file) { File[ ...