HTML5 Browser Support

I have been using JQuery to show a datepicker for forms where the input type is date. However, upon testing this in Opera - which supports HTML5 validation I get both the JQuery datepicker AND the Opera datepicker - one overlaying the other.

How might I tell that the browser supports this and so switch off the JQuery option, or tell the browser NOT to use its own or any other way of harmonising this?

Also - if I default to using the browser based datepicker - how do I tell it to use UK format dd/mm/yyyy and not ISO format of yyyy-mm-dd?

I should say that in Opera, the JQuery datepicker seems to be ineffective - once you select the Opera picker's date, then you have to select one from the JQuery - but that doesn't affect the displayed date - the one selected from Opera. How might I overcome that?

Finally, how might I style the browser based datepicker - colours mainly.

Many Thanks
highlawnAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

fjockeCommented:

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
basicinstinctCommented:
in my own sites i have decided not to use html5 date fields because my calendar and date field are better than the native implementation in any browser to date.

the way to tell the browser NOT to make it a date field is to make sure you don't set the type to date:
<input type="date"/>
vs.
<input type="text"/>

You can test to see if the browser "knows" about html5 date fields... from memory you would do this:

var hasHtml5Date, element = document.createElement("input");
element.setAttribute("type", "date");
hasHtml5Date = (element.type == "date");

hasHtml5Date will be true if the browser supports html5 date
highlawnAuthor Commented:
Wow! Quick responses - and very informative. Many thanks. The two links by fjocke are most helpful and the advice by basicinstinct seems - certainly for the present - most sound.

Once HTML5 becomes more rolled out and advanced, then perhaps that is the time to use it and, for now, jquery/js is the more complete answer.

Many Thanks and I'll split the points.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
jQuery

From novice to tech pro — start learning today.