Modal Dialog

Discussion in 'ASP .Net' started by tshad, Mar 18, 2005.

  1. tshad

    tshad Guest

    I am using Andy Smiths Dialog windows, which work really well.

    My only problem is I am trying to make the Dialogs Modal.

    Someone mentioned putting <base target="_self"> into the head section of
    the modal window to make it work. I tried putting it both pages just to see
    if it would work and it doesn't seem to work.

    Does anyone know how to make these modal?

    Thanks,

    Tom
     
    tshad, Mar 18, 2005
    #1
    1. Advertising

  2. JavaScript Modal Dialog Box - Cross Browser and
    highly flexible.

    http://www.eggheadcafe.com/articles/javascript_modal_dialog.asp

    --
    2005 Microsoft MVP C#
    Robbe Morris
    http://www.robbemorris.com
    http://www.learncsharp.net/home/listings.aspx



    "tshad" <> wrote in message
    news:OQvOah%...
    >I am using Andy Smiths Dialog windows, which work really well.
    >
    > My only problem is I am trying to make the Dialogs Modal.
    >
    > Someone mentioned putting <base target="_self"> into the head section of
    > the modal window to make it work. I tried putting it both pages just to
    > see if it would work and it doesn't seem to work.
    >
    > Does anyone know how to make these modal?
    >
    > Thanks,
    >
    > Tom
    >
     
    Robbe Morris [C# MVP], Mar 18, 2005
    #2
    1. Advertising

  3. tshad

    TJS Guest

    not quite modal because you can close the dialog without making a choice


    "Robbe Morris [C# MVP]" <> wrote in message
    news:...
    > JavaScript Modal Dialog Box - Cross Browser and
    > highly flexible.
    >
    > http://www.eggheadcafe.com/articles/javascript_modal_dialog.asp
    >
    > --
    > 2005 Microsoft MVP C#
    > Robbe Morris
    > http://www.robbemorris.com
    > http://www.learncsharp.net/home/listings.aspx
    >
    >
    >
    > "tshad" <> wrote in message
    > news:OQvOah%...
    >>I am using Andy Smiths Dialog windows, which work really well.
    >>
    >> My only problem is I am trying to make the Dialogs Modal.
    >>
    >> Someone mentioned putting <base target="_self"> into the head section of
    >> the modal window to make it work. I tried putting it both pages just to
    >> see if it would work and it doesn't seem to work.
    >>
    >> Does anyone know how to make these modal?
    >>
    >> Thanks,
    >>
    >> Tom
    >>

    >
    >
     
    TJS, Mar 18, 2005
    #3
  4. tshad

    tshad Guest

    "Robbe Morris [C# MVP]" <> wrote in message
    news:...
    > JavaScript Modal Dialog Box - Cross Browser and
    > highly flexible.
    >
    > http://www.eggheadcafe.com/articles/javascript_modal_dialog.asp


    That looks like exactly what I was looking for. I haven't tried it in my
    ..net pages yet, but I don't see why it wouldn't work. BTW, is there a way
    to make the links actual buttons? If not, that's fine.

    Thanks,

    Tom
    >
    > --
    > 2005 Microsoft MVP C#
    > Robbe Morris
    > http://www.robbemorris.com
    > http://www.learncsharp.net/home/listings.aspx
    >
    >
    >
    > "tshad" <> wrote in message
    > news:OQvOah%...
    >>I am using Andy Smiths Dialog windows, which work really well.
    >>
    >> My only problem is I am trying to make the Dialogs Modal.
    >>
    >> Someone mentioned putting <base target="_self"> into the head section of
    >> the modal window to make it work. I tried putting it both pages just to
    >> see if it would work and it doesn't seem to work.
    >>
    >> Does anyone know how to make these modal?
    >>
    >> Thanks,
    >>
    >> Tom
    >>

    >
    >
     
    tshad, Mar 18, 2005
    #4
  5. tshad

    tshad Guest

    "TJS" <> wrote in message
    news:%...
    > not quite modal because you can close the dialog without making a choice


    I am definately not going to quibble, here. This is exactly what I need.

    Is there a way to tell if the window was closed using the "x" or is there a
    way to turn the "x" off?

    Also, is the line:

    ModalDialogInterval = window.setInterval("ModalDialogMaintainFocus()",5);

    the one that makes it modal. I assume this is just resetting focus every 5
    ms. Is there some reason for using 5 verses 10, 20 or 30 etc?

    Thanks,

    Tom
    >
    >
    > "Robbe Morris [C# MVP]" <> wrote in message
    > news:...
    >> JavaScript Modal Dialog Box - Cross Browser and
    >> highly flexible.
    >>
    >> http://www.eggheadcafe.com/articles/javascript_modal_dialog.asp
    >>
    >> --
    >> 2005 Microsoft MVP C#
    >> Robbe Morris
    >> http://www.robbemorris.com
    >> http://www.learncsharp.net/home/listings.aspx
    >>
    >>
    >>
    >> "tshad" <> wrote in message
    >> news:OQvOah%...
    >>>I am using Andy Smiths Dialog windows, which work really well.
    >>>
    >>> My only problem is I am trying to make the Dialogs Modal.
    >>>
    >>> Someone mentioned putting <base target="_self"> into the head section
    >>> of the modal window to make it work. I tried putting it both pages just
    >>> to see if it would work and it doesn't seem to work.
    >>>
    >>> Does anyone know how to make these modal?
    >>>
    >>> Thanks,
    >>>
    >>> Tom
    >>>

    >>
    >>

    >
    >
     
    tshad, Mar 18, 2005
    #5
  6. tshad

    tshad Guest

    I wanted to pass in the asp.net object where I want the result to go and
    wanted to do something like:

    function YesNoCancelReturnMethod(returnVar)
    {
    document.getElementById(returnVar).value = ModalDialog.value;
    ModalDialogRemoveWatch();
    }

    but I can't figure out how the javascript call would go:

    <a href="javascript:YesNoCancel('Yes, no, or cancel
    me','YesNoCancelReturnMethod(modalreturn1)');">Show Modal #1</a>

    This doesn't work (which I didn't expect it would). But I can't figure out
    how to get the variable name to the event.

    Tom

    "tshad" <> wrote in message
    news:...
    > "TJS" <> wrote in message
    > news:%...
    >> not quite modal because you can close the dialog without making a choice

    >
    > I am definately not going to quibble, here. This is exactly what I need.
    >
    > Is there a way to tell if the window was closed using the "x" or is there
    > a way to turn the "x" off?
    >
    > Also, is the line:
    >
    > ModalDialogInterval =
    > window.setInterval("ModalDialogMaintainFocus()",5);
    >
    > the one that makes it modal. I assume this is just resetting focus every
    > 5 ms. Is there some reason for using 5 verses 10, 20 or 30 etc?
    >
    > Thanks,
    >
    > Tom
    >>
    >>
    >> "Robbe Morris [C# MVP]" <> wrote in message
    >> news:...
    >>> JavaScript Modal Dialog Box - Cross Browser and
    >>> highly flexible.
    >>>
    >>> http://www.eggheadcafe.com/articles/javascript_modal_dialog.asp
    >>>
    >>> --
    >>> 2005 Microsoft MVP C#
    >>> Robbe Morris
    >>> http://www.robbemorris.com
    >>> http://www.learncsharp.net/home/listings.aspx
    >>>
    >>>
    >>>
    >>> "tshad" <> wrote in message
    >>> news:OQvOah%...
    >>>>I am using Andy Smiths Dialog windows, which work really well.
    >>>>
    >>>> My only problem is I am trying to make the Dialogs Modal.
    >>>>
    >>>> Someone mentioned putting <base target="_self"> into the head section
    >>>> of the modal window to make it work. I tried putting it both pages
    >>>> just to see if it would work and it doesn't seem to work.
    >>>>
    >>>> Does anyone know how to make these modal?
    >>>>
    >>>> Thanks,
    >>>>
    >>>> Tom
    >>>>
    >>>
    >>>

    >>
    >>

    >
    >
     
    tshad, Mar 19, 2005
    #6
  7. tshad

    Mark Rae Guest

    "tshad" <> wrote in message
    news:...

    > Is there a way to tell if the window was closed using the "x"


    If you look at the demo, when you click one of the links it returns "Yes",
    "No" etc into the textbox. When you click the x in the top-right corner, it
    returns an empty string into the textbox.
     
    Mark Rae, Mar 19, 2005
    #7
  8. tshad

    tshad Guest

    "Mark Rae" <> wrote in message
    news:...
    > "tshad" <> wrote in message
    > news:...
    >
    > > Is there a way to tell if the window was closed using the "x"

    >
    > If you look at the demo, when you click one of the links it returns "Yes",
    > "No" etc into the textbox. When you click the x in the top-right corner,

    it
    > returns an empty string into the textbox.


    So, I assume the best way to make it work would be to put something in the
    textbox and then check if it is empty. If it is, the user pressed the "x"
    to close the window.

    I am having a problem with using this in an asp.net page using buttons.

    I made a change where I pass the title and the name of the textbox to the
    function, but otherwise it is the same. Here is the page I am using at the
    moment:

    ****************************************************************************
    *
    <%@ Page Language="VB" trace="false" debug="true" AutoEventWireup="true"
    ContentType="text/html" ResponseEncoding="iso-8859-1" %>
    <!--#include virtual = '/Development/includes/ModalDialogs.inc'-->
    <script runat="server">
    sub page_load(s as object, e as eventArgs)
    if not isPostBack then
    Button1.Attributes.Add("onclick", "YesNoCancel('This is a
    test','modalreturn2','Yes, no, or cancel me','YesNoCancelReturnMethod()');")
    end if
    end sub
    </script>
    <form runat="server">
    <asp:Button ID="Button1" text="submit" runat="server"/><br>
    <input type=text id=modalreturn2 name=modalreturn2 value=''><br>
    <a href="javascript:YesNoCancel('This is the first
    Title','modalreturn2','Yes, no, or cancel
    me','YesNoCancelReturnMethod()');">Show Modal #1</a>
    </form>
    <p>&nbsp;</p>
    </body>
    </html>
    **************************************************************

    In this page am calling the javascript popup from a link and a button. With
    the link it works everytime I press the link. Once I use the button, it
    doesn't work for the link anymore.

    For the button, it opens the popup fine, but it never returns when I press
    the link on the popup page. It only returns when I press the "x". It never
    returns anything from the popup (not even the empty string when pressing the
    "x").

    At this point, neither the button nor the link will bring up the popup box.

    What is the problem here?

    Here is the page that is rendered from .aspx:

    **************************************************************************
    <script language=JavaScript>

    var ModalDialogWindow;
    var ModalDialogInterval;
    var ModalDialog = new Object;

    ModalDialog.value = '';
    ModalDialog.eventhandler = '';
    ModalDialog.returnAddress = '';


    function ModalDialogMaintainFocus()
    {
    try
    {
    if (ModalDialogWindow.closed)
    {
    window.clearInterval(ModalDialogInterval);
    eval(ModalDialog.eventhandler);
    return;
    }
    ModalDialogWindow.focus();
    }
    catch (everything) { }
    }

    function ModalDialogRemoveWatch()
    {
    ModalDialog.value = '';
    ModalDialog.eventhandler = '';
    }

    function ModalDialogShow(Title,ReturnAddress,BodyText,Buttons,EventHandler)
    {
    alert("this is a test");
    ModalDialogRemoveWatch();
    ModalDialog.eventhandler = EventHandler;
    ModalDialog.returnAddress = ReturnAddress;

    var args='width=350,height=125,left=325,top=300,toolbar=0,';
    args+='location=0,status=0,menubar=0,scrollbars=1,resizable=0';

    ModalDialogWindow=window.open("","",args);
    ModalDialogWindow.document.open();
    ModalDialogWindow.document.write('<html>');
    ModalDialogWindow.document.write('<head>');
    ModalDialogWindow.document.write('<style>body{background-color:
    #B2CBD2;}</style>')
    ModalDialogWindow.document.write('<title>' + Title + '</title>');
    ModalDialogWindow.document.write('<script' + ' language=JavaScript>');
    ModalDialogWindow.document.write('function CloseForm(Response) ');
    ModalDialogWindow.document.write('{ ');
    ModalDialogWindow.document.write(' window.opener.ModalDialog.value =
    Response; ');
    ModalDialogWindow.document.write(' window.close(); ');
    ModalDialogWindow.document.write('} ');
    ModalDialogWindow.document.write('</script' + '>');
    ModalDialogWindow.document.write('</head>');
    ModalDialogWindow.document.write('<body onblur="window.focus();">');
    ModalDialogWindow.document.write('<table border=0 width="95%"
    align=center cellspacing=0 cellpadding=2>');
    ModalDialogWindow.document.write('<tr><td align=left>' + BodyText +
    '</td></tr>');
    ModalDialogWindow.document.write('<tr><td align=left><br></td></tr>');
    ModalDialogWindow.document.write('<tr><td align=center>' + Buttons +
    '</td></tr>');
    ModalDialogWindow.document.write('</body>');
    ModalDialogWindow.document.write('</html>');
    ModalDialogWindow.document.close();
    ModalDialogWindow.focus();
    ModalDialogInterval = window.setInterval("ModalDialogMaintainFocus()",5);

    }

    </script>

    <script language=JavaScript>


    function YesNoCancel(Title,returnAddress,BodyText,EventHandler)
    {
    var Buttons='';
    Buttons = '<a href=javascript:CloseForm("Yes");>Yes</a> ';
    Buttons += '<a href=javascript:CloseForm("No");>No</a> ';
    Buttons += '<a href=javascript:CloseForm("Cancel");>Cancel</a> ';
    ModalDialogShow(Title,returnAddress,BodyText,Buttons,EventHandler);
    }

    function YesNoMaybe(Title,returnAddress,BodyText,EventHandler)
    {
    var Buttons='';
    Buttons = '<a
    href=javascript:CloseForm("Yes");>Yes</a>&nbsp;&nbsp;&nbsp;&nbsp; ';
    Buttons += '<a
    href=javascript:CloseForm("No");>No</a>&nbsp;&nbsp;&nbsp;&nbsp; ';
    Buttons += '<a href=javascript:CloseForm("Maybe");>Maybe</a> ';
    ModalDialogShow(Title,ReturnAddress,BodyText,Buttons,EventHandler);
    }

    function YesNoCancelReturnMethod()
    {
    document.getElementById(ModalDialog.returnAddress).value =
    ModalDialog.value;
    ModalDialogRemoveWatch();
    }

    function YesNoMaybeReturnMethod()
    {
    document.getElementById(ModalDialog.returnAddress).value =
    ModalDialog.value;
    ModalDialogRemoveWatch();
    }

    </script>

    <form name="_ctl0" method="post" action="TMP28cypdoa6c.aspx" id="_ctl0">
    <input type="hidden" name="__VIEWSTATE"
    value="dDw5NjU1MTU1O3Q8O2w8aTwxPjs+O2w8dDw7bDxpPDE+Oz47bDx0PHA8O3A8bDxvbmNsa
    WNrOz47bDxZZXNOb0NhbmNlbCgnVGhpcyBpcyBhIHRlc3QnLCdtb2RhbHJldHVybjInLCdZZXMsI
    G5vLCBvciBjYW5jZWwgbWUnLCdZZXNOb0NhbmNlbFJldHVybk1ldGhvZCgpJylcOzs+Pj47Oz47P
    j47Pj47Pgp4F76kb7VjTMvhPLbWVoJO6PFw" />

    <input type="submit" name="Button1" value="submit" id="Button1"
    onclick="YesNoCancel('This is a test','modalreturn2','Yes, no, or cancel
    me','YesNoCancelReturnMethod()');" /><br>
    <input type=text id=modalreturn2 name=modalreturn2 value=''><br>
    <a href="javascript:YesNoCancel('This is the first
    Title','modalreturn2','Yes, no, or cancel
    me','YesNoCancelReturnMethod()');">Show Modal #1</a>
    <input type=hidden name='_sk_scrollkeepervalue' id='_sk_scrollkeepervalue'
    value='0!0'><script>function SKFilter_SetPosition(){
    scrollTo(0,0);}</script><script language='javascript'>onscroll =
    function(){document.getElementById('_sk_scrollkeepervalue').value =
    document.body.scrollLeft+'!' + document.body.scrollTop;}</script></form>
    <p>&nbsp;</p>

    </body>
    </html>
    **************************************************************************

    Thanks,

    Tom
     
    tshad, Mar 20, 2005
    #8
  9. tshad

    Mark Rae Guest

    "tshad" <> wrote in message
    news:...

    >> If you look at the demo, when you click one of the links it returns
    >> "Yes",
    >> "No" etc into the textbox. When you click the x in the top-right corner,

    > it
    >> returns an empty string into the textbox.

    >
    > So, I assume the best way to make it work would be to put something in the
    > textbox and then check if it is empty. If it is, the user pressed the "x"
    > to close the window.


    I guess so - or a JavaScript variable...
     
    Mark Rae, Mar 21, 2005
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Leila
    Replies:
    0
    Views:
    437
    Leila
    Apr 26, 2005
  2. Matt
    Replies:
    1
    Views:
    3,194
    Whitecrest
    Jun 1, 2004
  3. Don
    Replies:
    0
    Views:
    378
  4. Matt
    Replies:
    0
    Views:
    233
  5. gopal srinivasan
    Replies:
    0
    Views:
    276
    gopal srinivasan
    Nov 5, 2004
Loading...

Share This Page