最近在工作中发现一个问题,有这样一个需求,弹出窗口提交后需要将父页面刷新用来显示提交结果。
最开始没有注意并发问题,将两个操作都放在父页面上做的,代码如下:
//匹配策略
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编程中,有时我们需要创建一个模态对话框(modal dialog)来处理用户输入或确认操作,例如在父窗口中点击按钮,弹出一个模式窗口让用户添加数据,然后在数据提交后关闭模态窗口并刷新父窗口的数据。...
当一个模式窗口弹出时,它会捕获所有的输入焦点,直到用户采取了某种行动来关闭该窗口。这种特性使得模式窗口非常适合用于显示警告、请求确认、或者要求用户做出选择等场景。 #### 操作父窗口 在模式窗口中操作父...
总的来说,JavaScript 的弹出窗口和 `window.opener` 提供了一种灵活的方式来实现跨窗口的数据交换和操作同步,这对于构建复杂的Web应用程序非常有用。通过理解和熟练运用这些技术,开发者可以创建更加动态和交互性...
1. **表单数据验证:**当用户填写表单后尚未提交时离开页面,可以弹出提示询问用户是否真的想要离开。 2. **数据同步:**确保数据在用户离开前已经同步到服务器。 3. **清理资源:**释放内存或关闭打开的文件等资源...
在框架或弹出窗口中,当子窗口中的数据改变后,可能需要更新父窗口的内容,这时就可以使用此方法。 ### `RefreshOpener` 与`RefreshParent`类似,但作用于打开当前窗口的窗口。即,如果当前窗口是由另一个窗口打开...
“标签”和“弹出窗口”可能是指ExtJS中的组件,如TabPanel和Window,它们可以方便地创建具有多个标签页或弹出式对话框的应用。 "ExtDWR通信录.ppt"可能是一个演示文稿,展示了如何使用ExtJS和DWR来创建一个通讯录...
12.18 幻灯片式弹出窗口 12.19 弹出窗口生成器 12.20 关不掉的警告框 12.21 循环的警告框 12.22 屏蔽状态栏的错误提示 12.23 获取模式窗口的值 第13章 日期和时间特效 13.1 指定时间关闭页面 13.2 最简单的时间日期...
12.18 幻灯片式弹出窗口 12.19 弹出窗口生成器 12.20 关不掉的警告框 12.21 循环的警告框 12.22 屏蔽状态栏的错误提示 12.23 获取模式窗口的值 第13章 日期和时间特效 13.1 指定时间关闭页面 13.2 最简单的时间日期...
- 完成特定操作后,如上传文件、预览文档等,关闭弹出窗口。 #### RefreshParent 方法 **概述:** `RefreshParent` 方法用于刷新父窗口中的内容,并关闭当前窗口。此方法接受一个参数:`url`(父窗口中需要刷新的...
- 弹出表单:用户可以在对话框中填写表单,提交数据到服务器,而无需跳转到新页面。 - 图片预览:在对话框中预览大图,提升图片查看体验。 - 视频播放:在模态窗口中播放视频,让用户在观看时仍能保持对页面其他部分...
8. **灯箱效果**:图片预览功能,点击小图后,大图会在当前页面以弹出窗口的形式显示,用户可以关闭窗口继续浏览页面。Ajax在此处理图片请求,实现平滑过渡。 9. **自动保存草稿**:在表单填写过程中,如文章编辑,...
Ajax技术是当前Web应用系统中的一种革命性技术,能够实现异步数据交换和局部页面刷新,解决传统Web应用系统中的同步请求数据和页面刷新问题。Ajax技术的出现使得Web应用程序的用户体验大大提高,提高了系统的响应...
2. 在线咨询:这是一种更为通用的客服形式,可能不局限于特定的聊天工具,而是提供一个弹出窗口或固定在侧边栏的对话框,用户点击后可以输入问题,与客服人员进行文字交流。这通常涉及到AJAX技术,通过异步请求向...
2. 在 APICloud Studio 中找到相应的按钮,点击后在弹出的窗口中选择需要真机测试的应用。 当应用同步到手机后,点击“完成”关闭同步进度向导,并在手机中测试应用。 ##### 4.7 使用自定义 Loader 自定义 Loader...
1.12 强制在弹出窗口中打开链接 1.13 平滑滚动页面到某个锚点 1.14 阻止文本行换行 1.15 实现iframe高度自适应 1.16 实现左右div自适应相同高度 1.17 获取鼠标在屏幕中的坐标 1.18 获取鼠标在窗口客户区中的坐标 ...
- 弹出层中的弹出层关闭,父窗口失去焦点问题。 - 代码中grunt部分代码拆分开,放到程序外面;提交到git、osc - 桌面:删除alert enter快捷键删除 - install 检测 加入跳过,(只判断用到的函数) 加入多语言 - ...
在弹出的提交对话框中,选择要提交的文件,填写提交信息,然后点击“Commit”。这样,你的更改就会被保存到SVN仓库,其他团队成员可以同步获取。 总的来说,通过MyEclipse搭建SVN,可以极大地提高团队协作效率,...
修正了弹出窗口时浏览器一直加载的问题 5.友情链接和投票调查增加了频道归属功能 2013-06-01(V6.6.0) 1.增加了搜索的排序功能 2.开通了修改邮箱的功能 3.整合了Discuz!NT 3.6.711双向同步 2013-04-28(V6.5.0) ...
API之网络函数1. API之网络函数 WNetAddConnection 创建...GetSubMenu 取得一个弹出式菜单的句柄,它位于菜单中指定的位置 GetSystemMenu 取得指定窗口的系统菜单的句柄 HiliteMenuItem 控制顶级菜单条目的加亮显示...
循环弹出窗口:页面打开时同时弹出一个窗口,在同一窗口内循环显示广告位中的正常广告,这样,每刷新一次就会在弹出窗口中更替显示一个新的广告条 只需后台修改广告即可更新广告;可设置广告过期时间,通用于站内...