I use <input type="date">
fields that gracefully fallback to jQuery when the browser does not have support for the field. Relatively recently, Chrome started offering a native date picker, which is great. But I have found that many users miss the little arrow that brings up the calendar and therefore miss the fact that there is an easy calendar for date selection.
To make this more intuitive, it would be great if I could bring up the native datepicker UI when the user moves the focus to the input or clicks another element (like a small calendar icon).
Is there a method that I can use in Chrome to trigger the datepicker UI?
The trick is to fire F4 KeyboardEvent on input element:
here is jsfiddle: http://jsfiddle.net/v2d0vzrr/
BTW, there is an interesting bug in chrome. If you open jsfiddle in separate tab, the calendar popup will be shown on current tab. It's already reported.
I got cinatic's solution working on Chrome thank's to Andy's trick, and I added a sample hovering styling.
For desktop (and mobile), place input in a div with relative positioning and an icon, with the input styled as follows:
This stretches the picker indicator over the complete parent div, so that it always shows the date control when you tap the parent div's icon and/or text.
I think people want very often to use another icon or element to open the native datepicker box.
I figured out that the javascript solution with "click() & .focus()" only works in webkit and some other desktop browsers but unfortunatly not in FireFox.
But It is possible by another way, by overlaying the inputField over the icon element (or whatever you want to use) and made it invinsible by opacity 0.
This works really great on mobile devices, for desktop devices i would suggest you to add the onclick event as fallback "$('.dateInpuBox').click().focus()"
Here is a way to trigger the datepicker when users click on the field itself, because computer illiterate users don't know where they should click:
Links:
I don't think you can trigger the native calendar control to display, but you could highlight it a bit more:
You can, as it is, prevent it from displaying, e.g, from the docs:
Here's the documentation from Webkit, where I got the above:
http://trac.webkit.org/wiki/Styling%20Form%20Controls
Maybe that can be torqued and made to display the date picker, but ask yourself if you'd like every calendar control flying out every time you roamed your mouse across a page?
This answer was also helpful:
https://stackoverflow.com/a/15107073/451969