Niggle’s recent entry on good design, bad design touches on the usability of drop down date selection. Now, as any web developer who has had to put together a form with date selection will know, it is one of the most difficult things to achieve.
Some (and I do this, too) simply have three inputs — one for year, one for day, and one for month. They might be text boxes or they might be drop-downs. Other times it's an in-page calendar that refreshes every time you click next or previous month. Some even pop open a calendar widget that passes the values back to the form.
In any case, this isn't a full-blown solution but rather a test case for month validation only. Check out the example page and give it a whirl. The functionality is pretty straightforward. I've attached validation to occur when the user leaves the text box (
onblur) and performs a number of different tests to determine what the user prefers.
The validation code is attached onload and is done in an unobtrusive way. All functions and necessary information is attached to the input itself. In doing so, it's a trivial step to attach this behaviour to numerous text boxes and have each behave autonomously.
The other thing I wanted to mention was that — having worked on many bilingual sites — the validation is done in a (hopefully) language-neutral fashion. The only thing that should need to change is the month list that gets attached to the input. Change the list to French or Spanish and the technique should still work the same.
Ultimately, I'd like to get your feedback in hopes of being able to expand on this or drop the idea altogether.
This concept is also inspired by Simon Willison's technique that attempts to solve the date selection problem as a whole (instead of just the month as I've done).