模態視窗間傳遞多個值

來源:互聯網
上載者:User
在web應用中,如何以模態視窗方式新開啟子視窗,並往子視窗裡傳遞多個值,而在子視窗中,能接受這些值,並且對這些值修改後,可以再提交傳遞給父視窗呢?在codeproject上,有篇文章介紹了方法,下面介紹如下:
1 先建一個叫ParentWebForm的父視窗,寫入其中的HTML代碼如下:
  

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br>&lt;HTML&gt;<br>    &lt;HEAD&gt;<br>        &lt;title&gt;Parent Webform&lt;/title&gt;<br>        &lt;script language="javascript"&gt;<br>function OpenChild() <br>{<br>    var ParmA = retvalA.value;<br>    var ParmB = retvalB.value;<br>    var ParmC = retvalC.value;<br>    var MyArgs = new Array(ParmA, ParmB, ParmC);<br>    var WinSettings = "center:yes;resizable:no;dialogHeight:300px"<br>    //ALTER BELOW LINE - supply correct URL for Child Form<br>    var MyArgs = window.showModalDialog(<br>   "http://localhost/ModalWin/ChildWebForm.aspx", MyArgs, WinSettings);<br>    if (MyArgs == null)<br>    {<br>        window.alert(<br>          "Nothing returned from child. No changes made to input boxes")<br>    }<br>    else<br>    {<br>        retvalA.value=MyArgs[0].toString();<br>        retvalB.value=MyArgs[1].toString();<br>        retvalC.value=MyArgs[2].toString();<br>    }<br>}<br>        &lt;/script&gt;<br>    &lt;/HEAD&gt;<br>    &lt;body&gt;<br>        &lt;P&gt;&lt;INPUT id="retvalA" type="text" value="AAA"&gt;&lt;/P&gt;<br>        &lt;P&gt;&lt;INPUT id="retvalB" type="text" value="BBB"&gt;&lt;/P&gt;<br>        &lt;P&gt;&lt;INPUT id="retvalC" type="text" value="CCC"&gt;&lt;/P&gt;<br>        &lt;P&gt;&lt;BUTTON onclick="OpenChild()" type="button"&gt;<br>                Open Child Window&lt;/BUTTON&gt;<br>        &lt;/P&gt;<br>    &lt;/body&gt;<br>&lt;/HTML&gt;

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>


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.