Rahmat Faisal

Local GL INDC - Bali

See also: Other Geeks@INDC
Modal popup dialog window with multiple parameters (using array)
  1. Open a New Web project in Visual Studio
  2. Create two New WebForm pages named ParentWebForm and ChildWebForm
  3. Open the HTML surface for the ParentWebForm
  4. Locate the yellow line
  5. Delete all code EXCEPT the yellow line
  6. Insert the following HTML below the existing yellow line
    Collapse
    <!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>
  7. In the above code, locate the line saying //ALTER BELOW LINE
  8. Supply the correct URL for your ChildWebform
  9. Open the HTML surface for the ChildWebForm
  10. Locate the yellow line
  11. Delete all code EXCEPT the yellow line
  12. Insert the following HTML below the existing yellow line
    Collapse
    <!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>
  13. Set the project StartUp page to be the Parent Webform
  14. Run the project.

Note

To make the child modal to the entire desktop, you'll need add code to the child which uses <body onblur="this.focus">.

Source :  

Share this post: | | | |
Published Tuesday, July 03, 2007 7:04 AM by Rahmat.Faisal
Filed under:

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required) 

Enter the numbers above: