I am trying to prepopulate a date into an html "date" input field, but it ignores the values I try to pass:
<html>
...
<input id='date' type='date'>
...
</html>
<script>
...
var myDate = new Date();
$("#date").val(myDate);
...
I have also tried passing the date object as a string
var myDate = new Date().toDateString();
$("#date").val(myDate);
When I open the form, the date field is blank. If I eliminate the type="date" tag, the value shows up as a string, but then I don't have access to the datepicker. How do I pre-populate a date input and still have use of the datepicker? I'm stumped.
Thanks.
This below code populates the local date . The accepted answer populates UTC date.
It must be set in ISO-format.
http://jsfiddle.net/GZ46K/
Here is an answer based on Robin Drexlers but in local time.
If it's a datetime field you're modifying (as opposed to just the date) don't forget to add the time
T00:00
, or change the substring to 16 characters for example:Thank you j08691. That link was the answer.
To others struggling like me, when they say input is "yyyy-mm-dd" the MEAN it!
You MUST have 4 digits for the year. You MUST have a dash and no spaces. You MUST have 2 digits for day and month.
In my example myDate.getMonth for January would only return "1" (actually it returns "0" because for some reason javascript counts months from 0-11). To get this right I had to do the following:
I hope this helps others not waste hours like I did testing this before October or before the 10th of the month! LOL