When selecting a date from a long time ago (a birthday) the Date Picker can actually be less user friendly because you have a lot of clicks you need to go through to get to the year/month you need. We need an easier method for entering a distant date.
Why use simple dropdowns?
- By using 3 simple dropdowns we are able to quickly get to any valid date, as opposed to arrowing through many things in the Date Picker.
- When allowing free form entry (an input) you don't know what the user is providing you. If I say 01/02/03, which is the day, the month or the year? Dropdowns make it so there is no confusion.
- Keyboard entry still works as typing the value in a given select still works (although most users probably don't know this).
Other thoughts about this solution
- We suggest NOT using JS to check for number of days in a month. Using JS to update the correct days would make the interface confusing as you would have you to go y/m/d. Year first to get any leap years, then month to see if it is 28, 30 or 31 days, then days updated according to the above. The no JS version allows for a normal ordering of the fields with only a minor potential for error (4 months having one extra day, 1 month having 2 or 3 depending on the year). If they choose a day beyond what is actually available, just presume they meant the last day of the month.
- Default to blank options so the user doesn't have any impression that a value exists (unless a value does exist, then naturally default to that value).
- Month has number and 3 character month for easily identifying via either method, number or text. Put the number first to allow easy keyboard entry.
- Each dropdown is given a class (day/month/year) for styling. Usually our CSS has all dropdowns be X wide to match input fields, and in this case we need to fit 3 in the place of one. Target in your CSS file via select.day... etc.
- If you think the user will need a more spatial view of things (first Tuesday of next month, next Friday), then it would be would be better to use the Date Picker
It's 3 dropdowns... how much help do you need? ;)
There is no currently exposed API via the IxF.