html - Can't set minimum input date in javascript -
i have 2 date pickers
<label>check-in date : . </label> <input id="date1" type="date" name="from" required min="<?php echo date('y-m-d');?>"> <label>check-out date : . </label> <input id="date2" type="date" name="to" required onclick="setdate2();"> and javascript
function setdate2() { var date=$('#date1').val().split('-'); var day=date[2]; var month=date[1]-1; var year=date[0]; var somedate = new date(year, month, day); somedate.setdate(somedate.getdate() + 1); var dd = somedate.getdate(); var mm = somedate.getmonth() + 1; var y = somedate.getfullyear(); var someformatteddate = y + '-'+ mm + '-'+ dd; document.getelementbyid('date2').min = someformatteddate; alert(document.getelementbyid('date2').min) } this code works fine but, document.getelementbyid('date2').min = someformatteddate; doesn't seen work or something? i'm getting correct output doesn't set minimum value of date2...
your problem in line:
var someformatteddate = y + '-' + mm + '-'+ dd; you forgot month or day one-digit number, should this:
var someformatteddate = y + '-' + (mm<10?'0':'') + mm + '-' + (dd<10?'0':'') + dd; updated fiddle: https://jsfiddle.net/istyx/6x1zb2fq/
added: i'd recommend use moment.js library date/time manipulations.
Comments
Post a Comment