Hiding the input field
The goal of the datepicker widget is to populate a text input
element once the user makes a selection. So the widget has two uses for the input
element. First, it listens for focus
events on the input
element. This is how it knows when to display the calendar selector. Second, once the selection is made, the input
element value is updated to reflect the date in the chosen format.
Presenting the user with an input
element would work fine in the majority of cases. But perhaps for some reason, an input doesn't suit your UI well. Maybe we need a different approach to displaying the calendar and storing/displaying the selection.
In this section, we'll look at an alternative approach to just using the datepicker input
element. We'll use a button widget to trigger the calendar display, and we'll disguise the input
element as being something else.
Getting ready
Let's use the following HTML for this example. We'll lay out four date sections where the user needs to press a button...