`

模态窗口间传递多个值

阅读更多
在web应用中,如何以模态窗口方式新打开子窗口,并往子窗口里传递多个值,而在子窗口中,能接受这些值,并且对这些值修改后,可以再提交传递给父窗口呢?在codeproject上,有篇文章介绍了方法,下面介绍如下:
1 先建一个叫ParentWebForm的父窗口,写入其中的HTML代码如下:
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <title>Parent Webform</title>
        <script language="javascript">
function OpenChild() 
{
    var ParmA = retvalA.value;
    var ParmB = retvalB.value;
    var ParmC = retvalC.value;
    var MyArgs = new Array(ParmA, ParmB, ParmC);
    var WinSettings = "center:yes;resizable:no;dialogHeight:300px"
    //ALTER BELOW LINE - supply correct URL for Child Form
    var MyArgs = window.showModalDialog(
   "http://localhost/ModalWin/ChildWebForm.aspx", MyArgs, WinSettings);
    if (MyArgs == null)
    {
        window.alert(
          "Nothing returned from child. No changes made to input boxes")
    }
    else
    {
        retvalA.value=MyArgs[0].toString();
        retvalB.value=MyArgs[1].toString();
        retvalC.value=MyArgs[2].toString();
    }
}
        </script>
    </HEAD>
    <body>
        <P><INPUT id="retvalA" type="text" value="AAA"></P>
        <P><INPUT id="retvalB" type="text" value="BBB"></P>
        <P><INPUT id="retvalC" type="text" value="CCC"></P>
        <P><BUTTON onclick="OpenChild()" type="button">
                Open Child Window</BUTTON>
        </P>
    </body>
</HTML>

2 建立一个叫ChildWebform 的窗体,写入HTML代码如下
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <TITLE>Child Webform</TITLE>
        <script language="javascript">
function Done() {
    var ParmA = tbParamA.value;
    var ParmB = tbParamB.value;
    var ParmC = tbParamC.value;
    var MyArgs = new Array(ParmA, ParmB, ParmC);
    window.returnValue = MyArgs;
    window.close();
}
function doInit() {
    var ParmA = "Aparm";
    var ParmB = "Bparm";
    var ParmC = "Cparm";
    var MyArgs = new Array(ParmA, ParmB, ParmC);
    MyArgs =  window.dialogArguments;
    tbParamA.value = MyArgs[0].toString();
    tbParamB.value = MyArgs[1].toString();
    tbParamC.value = MyArgs[2].toString();
}
        </script>
    </HEAD>
    <BODY onload="doInit()">
        <P>Param A:<INPUT id="tbParamA" TYPE="text"></P>
        <P>Param B:<INPUT ID="tbParamB" TYPE="text"></P>
        <P>Param C:<INPUT ID="tbParamC" TYPE="text"></P>
        <BUTTON onclick="Done()" type="button">OK</BUTTON>
    </BODY>
</HTML>

分享到:
评论

相关推荐

    两个窗口之间传值,传多值,单值

    对于**多值传递**,可以创建一个包含多个值的数据结构,如自定义类或Dictionary。比如,定义一个`DataTransfer`类: ```csharp public class DataTransfer { public string Value1 { get; set; } public int ...

    模态窗口 跨域获取返回值

    然而,"模态窗口 跨域获取返回值"这个主题提供了一种解决方案,通过IFRAME的多层嵌套来实现跨域数据传递。下面将详细介绍这一技术。 模态窗口(Modal Window)通常指的是一个在用户与主页面交互时弹出的窗口,它...

    VS2010 C++窗口应用程序窗口之间传递参数的实例

    这在多窗口应用中是必不可少的功能,比如从主窗口打开子窗口并传递数据,或者在子窗口处理完数据后将结果返回给主窗口。在C++环境中,特别是涉及到非托管内存(如原始C++对象)时,传递这些参数会变得复杂,因为.NET...

    javascript调用的模态窗口

    `showModalDialog`执行后,会返回一个值,这个值可以是`dialog.html`页面中通过`window.returnValue`设置的值,用于向调用页面传递信息。 在`showModalDialog.html`和`dialog.html`这两个文件中,`showModalDialog....

    模态与非模态子窗口调用主窗口控件学习

    非模态窗口(Non-Modal Window)则允许用户同时与多个窗口进行交互。它不会阻止用户对主窗口的操作,而是并行存在,用户可以在子窗口与主窗口之间自由切换。在VS2015中,可以通过CreateWindow()函数或C#中的Show()...

    主页与模态页间传值实例(实用)

    总的来说,这个实例涵盖了前端与后端交互、模态窗口的使用以及数据传递等多个关键知识点,对于理解Web应用的开发流程和机制有着重要的参考价值。通过分析和实践这个实例,开发者能够提升自己的技能,更好地应对实际...

    JS--的模态窗口应用

    而非模态窗口则允许用户在多个窗口间自由切换。本文将详细介绍如何使用JavaScript创建这两种类型的对话框,以及如何控制它们的大小、位置、外观,并实现数据传递。 首先,创建模态对话框使用`window....

    c#_两个WIN程序窗口间传递参数的方法

    ### C#中两个Win程序窗口间传递参数的两种方法 #### 方法一:使用静态变量进行参数传递 在C#中,由于没有VB.NET中的全局变量概念,因此在不同页面或窗体之间传递参数需要采取其他策略。一种常用的方法是利用静态...

    VC 非模态的子窗口

    非模态窗口与模态窗口的主要区别在于,模态窗口会阻塞用户对其他窗口的操作,直到该窗口被关闭。 非模态子窗口通常用于提供附加功能或扩展主窗口的界面,例如设置对话框、工具面板等。创建非模态子窗口的过程涉及到...

    案例一 GUI数据传递和多窗口编程.zip

    非模态窗口允许用户同时与多个窗口交互。 3. **窗口间通信**: - **消息队列**:窗口间通过发送和接收消息进行通信,例如Qt中的`postEvent`和`event`函数。 - **回调函数**:一个窗口可以设置回调函数,当特定...

    python Qt5GUI界面主窗口和子窗口相互传值,保证能用

    2. **主窗口向子窗口传递值** - 可以在创建子窗口时,通过构造函数将值作为参数传递。例如: ```python class ChildWindow(QWidget): def __init__(self, parent_value, parent=None): super(ChildWindow, self...

    javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码

    在多层模态窗口的场景中,这个功能显得尤为重要,因为每层窗口可能需要独立的交互逻辑。本文将深入探讨如何使用`showModalDialog`实现多层模态窗口的页面提交及刷新。 首先,我们来看一下如何在第N层(N&gt;1)的模态...

    ie 模态弹窗 父子窗口交换数据

    4. **URL参数**:如果弹出窗口的URL是动态生成的,可以在URL中添加查询参数,将数据从父窗口传递给子窗口。子窗口可以通过`window.location.search`获取这些参数。 5. **使用IFrame**:如果子窗口是一个嵌入在父...

    javafx显示多个窗口以及javafx多窗口之间数据交互传输项目原文件

    在这个“javafx显示多个窗口以及javafx多窗口之间数据交互传输项目原文件”中,我们可以学习到如何在JavaFX中创建并管理多个窗口,以及在这些窗口之间进行数据的交换和传递。 1. **创建JavaFX窗口** 在JavaFX中,...

    C#_winform_多个窗体之间相互传递数据操作

    在C# WinForm应用开发中,经常需要在多个窗体之间进行数据交互,以便实现信息的传递和更新。本文将详细讲解如何在不同窗体之间有效地传递数据,并提供实际操作的示例。 首先,理解窗体(Form)是WinForm应用程序的...

    导出模态对话框DLL1

    在编程领域,动态链接库(Dynamic Link Library, DLL)是一种重要的技术,它允许代码和资源在多个应用程序之间共享。在Windows操作系统中,DLL文件被广泛使用,以减少内存占用和提高程序间的协作效率。"导出模态...

    C#WinForm获取子窗口返回值

    例如,如果子窗口需要返回一个整数值,我们可以创建一个`int`类型的公共属性: ```csharp public partial class ChildForm : Form { public int Result { get; set; } // 其他代码... } ``` 然后,在子窗口中,...

    Qt--子窗口向父窗口传值

    这在多个窗口间交互、数据交换的场景下非常实用,例如登录对话框向主窗口发送用户名和密码,或者在选项设置对话框中更改主窗口的显示设置等。理解和掌握这一机制对于进行复杂的Qt应用开发至关重要。

    MFC Tab Control 模态框 非模态框

    在Microsoft Foundation Class (MFC)库中,Tab Control是一种常用组件,用于在单一窗口内组织多个界面或对话框。模态框(Modal Dialog)和非模态框(Modeless Dialog)是两种不同的对话框类型,它们在用户界面设计中...

Global site tag (gtag.js) - Google Analytics