Pop-up calendar - any 'best practices' to do this?


Web tier: servlets, JSP, Web frameworks: Pop-up calendar - any 'best practices' to do this?

  1. Pop-up calendar - any 'best practices' to do this? (2 messages)

    Hi all,

    Another beginner question, I guess. In my application I have several date fields, and when the user clicks on one I have a pop-up window open with a calendar for them to select the date.

    I didn't want a bunch of convoluted JavaScript code so I wrote a little JSP that just displays a calendar and has that in the popup. The only real problem I ran into was how to set the right value back in the opener window.

    Finding the element is easy enough, just use opener.getElementById('...'), the problem was keeping track of which field to update. The solution I ended up using was to have a request parameter named 'dateField' that held the name of the field. The other parameters were, of course, the month and year to display.

    These went to a Struts action which set these as request attributes, and then I wrote a custom tag to generate the HTML for the calendar itself.

    The problem is, any time changing to a new month, or whatever, I have to manually add on the "&dateField=" + dateField; and while this is a simple example it could get more complicated.

    Is there any sort of established best practices with JavaScript popups and keeping track of field names, etc?

    Thanks very much..

  2. I haven't seen a best practices for this exactly, but I've definitely seen a lot of different types of implementations..

    ranging from all Javascript approachs such as:


    To more comprehensive UI frameworks such as Oracle's UIX, or soon to be called "ADF Faces" which is a custom JSF UI framework which happens to have a datepicker component.


    In your case, it sounds like you've solved your problems mostly.. You might want to share your example to the Java community.. Who knows maybe someone else could improve on it..

  3. See for example Calendar taglib in Coldtags suite:
    It shows how to return data to the main form