`
colincome
  • 浏览: 6355 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

(原创)关于showmodaldialog 打开新窗口后在执行“查询,翻页”操作时,避免弹出新窗口和避免从后台获取“新数据”后不能刷新当前模态页面的解决方案:

阅读更多

关于showmodaldialog 打开新窗口后在执行“查询,翻页”操作时,避免弹出新窗口和避免从后台获取“新数据”后不能刷新当前模态页面的解决方案:


案例:从父页面A 通过showmodaldialog的方式 打开模态子页面B,子页面上进行“查询,翻页功能”

1:从父页面A打开子页面B:

var url = "cn.ccb.orms.rcsa.pageflow.RscaQueryItemInfosPopup.flow"; 
var itemInfo = showModalDialog(url,window,'dialogWidth:800px;dialogHeight:500px;dialogLeft:100px;dialogTop:250px;center:yes;help:yes;resizable:yes;status:yes'); 

 

2:进入模态页面B后的JS和JAVA代码

<xmdc:verbatim> 
<base target="_self" /> 
</xmdc:verbatim> 

<xmdc:commandButton action="pageQuery" value="8" 
styleClass="button_dateset" style="width: 30px; margin-right: 5px" 
onclick="changeFrame();gotoLastPage(this,'page');" 
disabled="#{page.isLast==true}"> 
</xmdc:commandButton> 
<xmdc:outputText value=" 每页显示" style="padding-top:5px"></xmdc:outputText> 
<xmdc:inputText id="page_length" value="#{page.length}" 
style="width:50px" maxlength="9" 
onkeyup="value=value.replace(/[^\d\.]/g,'');"></xmdc:inputText> 
<xmdc:outputText value="条转到" style="padding-top:5px"></xmdc:outputText> 
<xmdc:inputText id="page_currentPage" value="#{page.currentPage}" 
style="width:50px" maxlength="9" 
onkeyup="value=value.replace(/[^\d\.]/g,'');"></xmdc:inputText> 
<xmdc:outputText value="页" style="padding-top:5px"></xmdc:outputText> 
<xmdc:commandButton action="pageQuery" value="跳转" title="跳转到指定页" 
styleClass="button" 
onclick="changeFrame();gotoCustomPage(this,'page');"> 
</xmdc:commandButton> 
…… 
…… 
…… 
<xmdc:panelGrid columns="2" border="0" align="center" 
columnwidths="60px,60px"> 
<xmdc:commandButton id="queryBtn" action="query" styleClass="button" 
value="查询" onclick="changeFrame();"></xmdc:commandButton> 
</xmdc:panelGrid> 


<xmdc:verbatim> 
<script type="text/javascript"> 
//初始化提交FORM的TARGET值。 
window.attachEvent('onload', function(){ 
    // alert(window.name); 
    if(window.name=""){ //判断窗体的name,防止查询或者翻页操作时弹出新窗口 
        document.getElementById("theform").target = "dialogFrame"; 
    }else if(window.name="dialogFrame"){//判断执行查询或翻页操作后,返回当前页面不刷新展现新数据 
        document.getElementById("theform").target = ""; 
    } 
}) 

function changeFrame(){// 判断如果是执行查询或翻页操作,则改变当前窗口form的target值,防止弹出新窗口 
    document.getElementById("theform").target = "dialogFrame"; 
} 

</script> 
</xmdc:verbatim> 

 

 

分享到:
评论
1 楼 xyztony1985 2010-04-22  
说得有点长,其实就是“提交表单不新开窗口和缓存的问题”。
另外,既然贴代码,请用内置的代码高亮功能,看起来也容易点

相关推荐

    showModalDialog 弹出窗口关闭不刷新父窗口最终实现了

    然而,在某些情况下,我们可能希望在关闭弹出窗口后,不刷新父窗口(即打开弹出窗口的页面),以保持当前页面状态不变。本文将详细介绍如何实现这一需求。 #### 二、问题描述 根据题目中的描述,开发者在`index....

    在使用showModalDialog中为解决刷新时弹出新窗口时用到iframe所带来的一个问题

    在标题提到的问题中,当使用`showModalDialog`并结合`iframe`来实现弹窗功能时,如果页面被刷新,可能会出现一个新的弹出窗口。这是因为`showModalDialog`通常会保留其状态,而页面刷新会重置这些状态,导致再次调用...

    showModalDialog open弹出子窗口操作parent、opener父窗口及跨域处理

    在弹出的窗口涉及跨越两个不同的应用域时,需要声明两个域相互信任。 document.domain="chinaacc.com"; 不同方式跨域弹出窗口区别 1&gt; window.showModalDialog()采用JS原理实现,同时父窗口不可操作,window.open()...

    js弹出一个新页面并获得弹出页面的值

    根据提供的文件信息,本文将详细解释如何使用JavaScript在父页面中弹出一个新的窗口,并从这个新弹出的窗口中获取数据。此技术常用于需要在当前页面与另一个页面之间进行数据交互的应用场景。 ### 一、理解弹窗原理...

    针对window.showmodaldialog弹出窗体无刷新的详细使用

    考虑到`showModalDialog`的限制和潜在问题,建议在新的项目中避免使用。如果必须使用,确保进行充分的测试,尤其是在各种浏览器和设备上。同时,为未来可能的迁移计划,可以设计一个简单的接口,方便将来替换为其他...

    避免 showModalDialog 弹出新窗体的原因分析

    showModalDialog和showModelessDialog 一、showModalDialog和... 二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口? 在被打开的网页里加上&lt;base target=”_self”&gt;就可以了。这句话一

    showModalDialog刷新窗口的例子

    在IT行业中,尤其是在Web开发领域,`showModalDialog`是一个重要的JavaScript函数,它用于打开一个模态对话框,即在用户与新窗口交互时,主窗口会被暂时禁用。这个功能在需要用户输入额外信息或者确认操作时非常有用...

    js中打开新窗口的各种方法.doc

    在JavaScript中,打开新窗口是常见的操作,常用于创建弹出窗口、对话框或实现特定交互。`window.open`函数是实现这一功能的核心方法。它接受三个参数:要打开的URL、新窗口的名称(可选)以及一个包含窗口属性的字符...

    asp.net中打开新窗口的多种方法

    在ASP.NET开发中,有时我们需要实现用户点击某个链接或者按钮后在新的窗口中打开一个新的页面,而不是替换当前页面。本文将详细介绍在ASP.NET中实现这一功能的多种方法,并且会探讨如何控制对话框的特性。 1. **...

    showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口

    在JavaScript中,`showModalDialog`是一个非常有用的函数,它允许我们打开一个新的浏览器窗口或对话框,并与父窗口进行交互。这个功能在开发过程中经常用于创建弹出式表单、确认对话框或者需要用户输入信息的场景。...

    C#后台代码弹出页面或模式窗口.pdf

    在Web应用程序中,有时候我们需要从后台代码弹出一个页面或者模式窗口,以便与用户进行交互。这里我们将深入探讨如何使用C#后台代码来实现这一功能。 首先,让我们分析提供的代码片段。这段代码定义了两个静态方法...

    sharepoint 2010 弹出模式窗口showModalDialog并返回值returnResult方法.

    在SharePoint 2010开发中,`_spPageContextInfo`对象提供了一种方便的方式来弹出模态对话框,即`showModalDialog`函数。这个功能在处理用户交互、表单填写、确认操作或者展示详细信息时非常实用。本篇文章将详细探讨...

    打开新窗口的几种方法

    在ASP.NET开发中,有时我们需要在用户触发某些操作时,例如点击按钮或链接时,在一个新的浏览器窗口或标签页中打开另一个网页。本文将详细介绍几种利用JavaScript脚本实现这一功能的方法,并对每种方法进行深入解析...

    使用selenium测试showModalDialog模态对话框

    这段代码首先定义了一个JavaScript字符串,用于重写 `showModalDialog` 方法,将其替换为 `window.open` 函数,这样对话框将以非模态窗口的形式打开,Selenium 就可以继续执行并选中这个新窗口。然后,代码模拟点击...

    window.showModalDialog以及window.open用法简介

    在网页开发中,有时我们需要打开新的窗口或者弹出对话框来与用户进行交互。`window.showModalDialog`和`window.open`是JavaScript中用于实现这一目标的两个关键函数。它们都可以创建新窗口,但有着不同的特性和使用...

    JS 弹出对话框window.showModalDialog()

    ### JS弹出对话框 `window.showModalDialog()` 的使用与详解 #### 一、`window.showModalDialog()` 概述 在JavaScript中,`window.showModalDialog()` 是一个非标准但广泛使用的API,用于创建模态对话框。模态...

    C#后台代码弹出页面或模式窗口.docx

    在Web应用程序中,有时候我们需要在后台代码中控制前端的行为,比如弹出一个新的页面或模式窗口。文档中的代码片段展示了如何在C#后台代码中实现这一功能。 首先,我们需要理解后台代码与前端交互的基本原理。在ASP...

    showModalDialog实例

    在这个实例中,它被用来实现一个网页的弹出窗口,通常用于数据输入或者确认操作等场景。以下是详细的说明: 1. **BackTap.jsp**:这是主页面,它调用了`showModalDialog`函数来打开一个新的窗口`Doback.jsp`。在`...

    window.showModalDialog模式对话框和 window.open的区别

    在Web开发中,创建弹出窗口是常见的交互方式,用于显示一些额外的信息或者进行特定的操作。`window.showModalDialog` 和 `window.open` 都是JavaScript提供的两种打开新窗口的方法,但它们在功能和使用场景上有着...

Global site tag (gtag.js) - Google Analytics