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

Popular posts from this blog

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -

minify - Minimizing css files -