`
gloryme
  • 浏览: 124551 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决刷新时弹出是否重新提交数据

    博客分类:
  • jsp
阅读更多

在struts config 配置文件   <forward path="/xx.jsp" name="info" color="#ff0000"></forward>redirect="true">   把地址重定向

既在IE地址中不会出现xx.do

弹出窗口刷新它的父页面后。出现不重新发送信息,则无法刷新网页
因为做程序中遇到这个问题,所以搜索到了火靶子的文章  ,文章和回复中大致有上大致有以下几种解决方法:
方法1:
window.opener.location.reload();
这种方法用于已经提交了数据的页面会提示标题信息;
点确定后后数据更新;
方法2:
window.opener.location.href=window.opener.location.href;
这种方法会丢失当前浏览器内的信息;
方法3:
window.location.href=window.location.href ;
window.location.reload;
这种.....
方法4:
很简单,为了防止探出刷新的东西,可以把向父窗口提交的那个FORM改成GET属性,而不使用POST属性就可以了!
在我的代码里测试,出现javascript错误,没有仔细研究;
方法5:
将下面的代码写在脚本文件里,然后在服务器端调用就可以了
function bb()
{
var x = window.parent.dialogArguments;
x.Relocation();
window.close();
}
效果如方法1.
但如果,他的父页面是嵌套在另一个页面 A 中,怎么刷新页面A?
Gapple的方法:
我在工作中的ASP.NET项目中也遇到了这个问题,需要在添加修改等操作以后关闭子窗口,同时刷新父窗口,非常的棘手,我浏览了以上各位的回复,但都失败了,呵呵,不是各位的代码和思路有问题,是我使用的是window.showModelessDialog()。

我是这样解决的:
首先在父上放一个刷新列表用的按扭控件,然后对它进行编程,调用onClick来运行Codebehind里的C#函数,当然,这些都是和你的程序有关的东西,大家自己研究,以我的程序为例,我在这个按扭上运行了一个公用类的一个函数,用来render当前页的DataGrid。我把这个按扭控件的ID设为refresh,其实什么都可以。

然后在子窗体上的添加或者修改按扭上的服务器端事件中注册一个js代码块来执行window.dialogArguments.document.forms[0].refresh.click();
之所以没有self.close()是因为父窗体提交以后,IE6会自动关闭子窗体,子窗体消失的速度非常快,可以说是自动的self.close()。

好了,以上代码都写好了以后,就可以在父窗体的DataGrid的SelectedIndexChanged事件中调用函数来注册js代码块。来执行window.showModelessDialog()。

由于本人目前专心开发ASP.NET程序,并且都是使用ModelessDialog来力争实现一种WinForm的外观和用户体验,所以对这个父子窗口的功能非用不可。呵呵,虽然这个方法不是什么太高明的方法,需要在父窗体上放一个刷新按扭,并且还要对这个按扭编程刷新ASPX页,但由于有ASP.NET特有的一些form特性,使得以上的实现效果还是非常好的。但不知道离开了ASP.NET环境,这个刷新按扭还应该做什么其它的考虑了,不做ASP.NET的话,我这个方法恐怕实现起来还是显得比较笨拙了。不过,在ASP.NET环境中调用的话,效果的确非常理想。

不是很明白
受Gapple兄的启发

,我得想法是主动提交父窗口的form,javascript代码如下:
window.opener.window.document.forms(0).submit();
这样服务器端会主动提交一次form.如果之前没有考虑form主动提交的情况,再返回的页面信息可能也会有些丢失.不过既然球已经被主动踢倒后台,我们在后台稍做改动就能得到更新数据后的父页面.

多亏了form,不过如果没有form的话又何来提交数据的动作而带来的提示窗口呢呢.我晕了

写完了又重新遍历以下原文章,路人已经在回复中说到了这个方法,看来网上真的没有不能解决的问题.呵呵,
我等懒人有福了

 

分享到:
评论

相关推荐

    弹出层表单提交数据完美解决

    总结来说,实现弹出层表单提交数据完美解决,需要关注表单的设计、数据验证、异步通信、安全性以及用户体验等多个方面。通过合理的HTML结构、CSS样式和JavaScript交互,我们可以创建出用户友好且安全的弹出层表单...

    使用mvc无刷新提交

    而“无刷新提交”则是现代Web交互中提高用户体验的重要技术,它允许用户在不重新加载整个页面的情况下发送请求并更新部分内容。本文将详细介绍如何在MVC框架下实现无刷新提交。 1. **无刷新提交原理**: 无刷新...

    jquery+ajax实现无刷新提交的功能

    这里弹出提示框显示“提交成功”,并将输入框清空。 ```php require "config.php"; require "conn.php"; $writer = $_POST['writer']; $pass = $_POST['pass']; mysql_query("INSERT INTO `tt`.`user`(`id`, `...

    asp.net结合html,javascript实现无刷新跨域数据提交

    在IE浏览器中,对于跨域访问的处理是弹出警告框,提醒用户。如果用户将该网站纳入可信任网站,或者调低安全级别,那么这个问题IE就不会再提醒你。在FireFox浏览器中,对于跨域访问的处理是直接拒绝访问。 使用ASP...

    弹DIV提交表单无刷新

    这种技术使得用户在提交表单时无需等待整个页面重新加载,而是通过Ajax(异步JavaScript和XML)技术实现数据的后台传递与更新,从而提供更加流畅、快速的用户体验。 首先,我们来理解“弹DIV”。在HTML中,`&lt;div&gt;`...

    ThickBox关闭层自动刷新和页面数据提交冲突问题

    根据提供的信息,问题主要体现在使用ThickBox弹出层提交表单数据时,后端处理逻辑偶尔会出现异常。具体表现为: - 在弹出层中填写表单数据,并点击提交按钮。 - 提交操作触发表单的`submit()`事件。 - 提交完成后,...

    android 登陆、提交数据或加载数据时提示页面

    以上就是Android应用在登录、提交数据或加载数据时涉及的主要知识点。理解并熟练掌握这些内容,可以有效地提升应用的质量和用户体验。对于开发者来说,不断学习和实践这些技术,是提升自身技能的重要途径。

    asp.net javascript 实现无刷新提交

    ASP.NET和JavaScript结合实现无刷新提交是Web开发中的一个重要技术,它使得用户在与网页交互时无需等待页面完全刷新,从而提升用户体验。无刷新提交,也称为Ajax(Asynchronous JavaScript and XML)技术,通过在...

    防止页面的重复提交和刷新

    重复刷新则是指用户在提交表单之后,出于不确定提交是否成功而刷新页面的行为。这种行为同样可能导致重复的数据记录。 这两种情况都需要根据具体的业务逻辑进行处理。例如,在不允许重复记录的资源管理系统中,重复...

    AJAX+ASP.NET无刷新提交读取数据实例

    本实例将详细介绍如何在ASP.NET框架下结合AJAX实现无刷新提交和读取数据。 首先,理解AJAX的基本工作原理。AJAX允许通过JavaScript向服务器发送异步请求,获取数据后在客户端进行处理,而无需刷新整个页面。这得益...

    javascript弹出层表单提交代码

    JavaScript弹出层表单提交是一种常见的用户交互设计,它允许用户在不离开当前页面的情况下填写并提交表单数据。这种技术常用于网站的登录、注册、评论或编辑功能,提供了良好的用户体验,因为用户无需跳转到新页面...

    刷新action避免重复提交

    防止提交 在用struts2.0标签开发...在点击"提交"后,我们通常会弹出一个提示信息的页面,用户此时有可能会按f5刷新当前提交的action,从而将多个相同的数据保存到了后台数据库,并且造成了潜在的安全危险! 避免重复提交呢?

    jQuery 局部div刷新和全局刷新方法总结

    在弹出新窗口时,如果你需要刷新弹出窗口的父窗口,可以使用该方法。 4. 刷新最顶端窗口页面,使用以下代码: ```javascript top.location.reload(); ``` 当页面处于多窗口嵌套时,此方法用于刷新最顶端的窗口。...

    DevExpress GridControl GridView新增行数据解决方案

    在开发过程中,我们可能会遇到在GridView中添加新行数据时遇到数据为空或者无法自动刷新的问题。本篇文章将深入探讨这个问题及其解决方案。 首先,当试图在GridView中添加新的数据行时,如果数据为空,可能的原因有...

    c# 定时器 ,定时提交数据

    - **异常处理**:确保在提交数据时捕获并处理可能出现的异常,避免因为定时器的频繁触发导致程序不稳定。 - **线程安全**:如果多个定时器同时访问同一资源,应确保提交操作是线程安全的,可以使用锁或其他并发...

    漂亮的无刷新弹出登录JS代码

    标题中的“漂亮的无刷新弹出登录JS代码”指的是利用JavaScript技术实现的一种用户界面设计,它能够在不重新加载整个网页的情况下,通过弹出窗口显示登录表单。这种设计提高了用户体验,因为用户无需离开当前页面就能...

    关于页面刷新,事件重复提交的方法分享

    在网页开发中,尤其是涉及到用户交互的表单提交时,防止页面刷新导致的事件重复提交是一个常见的挑战。这个问题源于浏览器的刷新行为,它会重新发送上一次的HTTP请求,包括POST请求,即表单提交。在ASP.NET环境中,...

    Ajax 提交弹出层源码

    总结来说,"Ajax 提交弹出层源码"是一个结合了Ajax技术和弹出层设计的示例,实现了无刷新的数据提交和根据服务器响应的动态反馈,体现了Ajax在提升网页交互性方面的重要作用。通过理解和应用这些技术,开发者可以...

    html5点击弹出手机登录注册表单提交代码

    最后,为了让表单提交过程更友好,我们可以利用AJAX(异步JavaScript和XML)技术实现无刷新提交。通过XMLHttpRequest对象或更现代的Fetch API,我们可以发送异步请求,同时更新页面的某些部分,而不是刷新整个页面。...

    防止页面刷新、定时刷新间隔刷新

    - 在服务器端通过设置HTTP响应状态码为303(See Other)或者304(Not Modified),可以指示浏览器不进行缓存,避免用户刷新页面时出现重复提交的情况。 4. **利用Token机制**: - 为每个表单请求生成一个唯一的...

Global site tag (gtag.js) - Google Analytics