`
lijun87
  • 浏览: 262959 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于弹出窗口提交与父页面刷新的同步问题

阅读更多

最近在工作中发现一个问题,有这样一个需求,弹出窗口提交后需要将父页面刷新用来显示提交结果。

最开始没有注意并发问题,将两个操作都放在父页面上做的,代码如下:

//匹配策略
function saveContactResultSelected(){
	tydicWin1.document.forms["dataForm"].submit();
	tydicWin1.close();
	location.href="${ctx}/strategy_MktStrategy_matchChannelResult.action?" + $.param(getparams());
}

 

最后,由测试人员在测试过程中发现,提交的结果没有在父页面正常显示。经过分析后台日志,发现表单提交的操作还未执行完毕,父页面刷新已经完成。最后确定为操作异步导致。

 

那么怎么将窗口提交与父页面刷新同步呢,想到的一个解决方案是采用异步方式提交表单。

 

//提交表单,成功后刷新父页面
function sub(){
	var ids = getSelectedRows();
	document.getElementById("chlResRelId").value = ids;
	var options = { 
		type:'POST', 
		url:'${ctx}/strategy_MktStrategy_saveContactResultSelected.action', //提交给哪个执行
		success: function(){
			parent.refreshResultSelected();
		},
	    error: function(){
			$.dicBox({style : 2,content : '表单提交失败!'}); 	 
		}
	};
	$('#dataForm').ajaxSubmit(options);
}

 

经过测试,可以比较好的解决子窗口提交与父页面刷新的同步问题。

 

 

附:

   一、 还有一种ajax的表单提交方法,会有成功提示

ajax.submit("orderForm",url,queryWorkOrder);

    其中orderForm为表单名,URL为表单提交地址, queryWorkOrder为回调函数。

 

  二、ajax的url 提交方法

	function delStyChlRel(styChlRelId){
	    $.ajax({
		   type: "POST",
		   url: "${ctx}/strategy_MktStrategy_deleteStyChlRel.action",
		   data: "paras.styChlRelId="+styChlRelId,
		   success: function(msg){ 
		     	refreshMatchResult();
		   },
		   error: function(){
				$.dicBox({style : 2,content : '任务接收失败!'}); 	 
		   }
	   });
	}

 

 

 

分享到:
评论

相关推荐

    《程序天下:JavaScript实例自学手册》光盘源码

    12.18 幻灯片式弹出窗口 12.19 弹出窗口生成器 12.20 关不掉的警告框 12.21 循环的警告框 12.22 屏蔽状态栏的错误提示 12.23 获取模式窗口的值 第13章 日期和时间特效 13.1 指定时间关闭页面 13.2 最简单的时间日期...

    程序天下:JavaScript实例自学手册

    12.18 幻灯片式弹出窗口 12.19 弹出窗口生成器 12.20 关不掉的警告框 12.21 循环的警告框 12.22 屏蔽状态栏的错误提示 12.23 获取模式窗口的值 第13章 日期和时间特效 13.1 指定时间关闭页面 13.2 最简单的时间日期...

    超实用的jQuery代码段

    1.12 强制在弹出窗口中打开链接 1.13 平滑滚动页面到某个锚点 1.14 阻止文本行换行 1.15 实现iframe高度自适应 1.16 实现左右div自适应相同高度 1.17 获取鼠标在屏幕中的坐标 1.18 获取鼠标在窗口客户区中的坐标 ...

    KODExplorer 芒果云-资源管理器

    - 弹出层中的弹出层关闭,父窗口失去焦点问题。 - 代码中grunt部分代码拆分开,放到程序外面;提交到git、osc - 桌面:删除alert enter快捷键删除 - install 检测 加入跳过,(只判断用到的函数) 加入多语言 - ...

    asp.net知识库

    用于弹出ModalDialog进行数据选择的控件 使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法 制作一个简单的多页Tab功能 一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的...

    带文档的Cms v6.7.0源码20130702

    修正了弹出窗口时浏览器一直加载的问题 5.友情链接和投票调查增加了频道归属功能 2013-06-01(V6.6.0) 1.增加了搜索的排序功能 2.开通了修改邮箱的功能 3.整合了Discuz!NT 3.6.711双向同步 2013-04-28(V6.5.0) ...

    API之网络函数---整理网络函数及功能

    API之网络函数1. API之网络函数 WNetAddConnection 创建...GetSubMenu 取得一个弹出式菜单的句柄,它位于菜单中指定的位置 GetSystemMenu 取得指定窗口的系统菜单的句柄 HiliteMenuItem 控制顶级菜单条目的加亮显示...

    功能非常全面的一个论坛源码

    001. 允许自定义积分,幸运,威望,等级,经验...230. 用户头像上传功能修复,允许同步提交,并保留原先的图像组件缩小转换功能 231. 对防刷新的操作过频等问题作了更好的处理 232. 允许发布财富交易帖(财富为可定制名称)

    多媒体教室

    在全屏接收屏幕广播时,如果教师未锁定学生机键盘鼠标,学生就可以在屏幕广播窗口上点击鼠标右键,在图所示的弹出菜单中除去全屏显示选项后即变为窗口方式接收广播。 学生在此模式下可以选择智能滚动、自由滚动、...

    Ext 开发指南 学习资料

    5.4. 让弹出窗口,显示我们想要的东东,比如表格 5.4.1. 2.0的弹出表格哦 5.4.2. 向window里加表格 5.4.3. 把form放进对话框里 6. 奔腾吧!让不同的浏览器里显示一样的布局。 6.1. 有了它,我们就可以摆脱那些自称ui...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例179 修改表单属性为弹出窗口 216 实例180 表单输入单元的文字设置 217 实例181 表单输入单元单击删除 218 实例182 表单文本输入的移动选择 219 实例183 通过下拉列表选择头像 220 3.5 CSS+DIV页面布局 222 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例179 修改表单属性为弹出窗口 216 实例180 表单输入单元的文字设置 217 实例181 表单输入单元单击删除 218 实例182 表单文本输入的移动选择 219 实例183 通过下拉列表选择头像 220 3.5 CSS+DIV页面布局 222 实例...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    循环弹出窗口:页面打开时同时弹出一个窗口,在同一窗口内循环显示广告位中的正常广告,这样,每刷新一次就会在弹出窗口中更替显示一个新的广告条 只需后台修改广告即可更新广告;可设置广告过期时间,通用于站内...

    ChaZD-crx插件

    3. 同步了划词与弹出窗口的查询结果,想看更详细的翻译结果,划词后直接打开查词窗口就可以啦,还可以配合快捷键使用哦~ 4. 使用shift键辅助,对之前无法划词的链接进行划词 version 0.8.3 1. 修改若干个BUG 2. 新的...

    积云网络「Cumulus Web」-crx插件

    没有弹出窗口登录○在“新选项卡”中打开/在“新窗口中打开”会产生新会话○在选项卡中启动新会话•重新启用右键单击上下文菜单•菜单搜索VisionPlex屏幕和报告全局热键功能:•启动新的会话•在屏幕上下雪•刷新...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 <br>1.1 Visual Studio开发环境安装与配置 2 <br>0001 安装Visual Studio 2005开发环境须知 2 <br>0002 配置合适的Visual Studio 2005...

Global site tag (gtag.js) - Google Analytics