Reputation: 141
i'm making a code where when i selected a start date,an end date will automatically appear. the end date is +3 days of the start date
<input type="date" name="start_date" id="start" onKeyUp="date()">
<input type="text" name="end_date" id = "end" onKeyUp="date()" disabled />
<script type = "text/javascript">
function date() {
var startdate = document.getElementById('start');
var enddate = document.getElementById('end');
enddate.value = startdate + 3 days;
}
</script>
this enddate.value = startdate + 3 days; i know that code is wrong. i dont know how to pass dates to javascript. please help
Upvotes: 0
Views: 1445
Reputation: 1365
<input type="text" name="num_days" id = "days" />
<input type="date" name="start_date" id="start" onChange="date()">
<input type="text" name="end_date" id = "end" onKeyUp="date()" />
<script type = "text/javascript">
function date() {
var numdays = document.getElementById('days');
var startdate = document.getElementById('start');
var enddate = document.getElementById('end');
//conver you selected stuff to a proper date format
var old = new Date(Date.parse(startdate.value));
//take a new date
var newdate = new Date();
days = parseInt(numdays.value);
// add how many days you want to add i use 3 you can use as many
newdate.setDate(old.getDate()+days);
enddate.value = newdate.getFullYear()+'-'+(newdate.getMonth()+1)+'-'+newdate.getDate();
}
</script>
Upvotes: 1
Reputation: 3289
Just pass the start date in the date()
var today = new Date(document.getElementById('start'));
var dd = today.getDate();
var mm = today.getMonth()+1;//January is 0!
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd
}
if(mm<10){
mm='0'+mm
}
var startdate=yyyy+'-'+mm+'-'+dd ;
var enddate=yyyy+'-'+mm+'-'+(parseInt(dd)+3) ;
This will give you 2 dates:
Start date
Start date + 3 days i.e enddate
I hope it will help you!
Upvotes: 0
Reputation: 303
try it here DEMO
function mydate() {
var targetDate = new Date();
targetDate.setDate(targetDate.getDate() + 3); //how many days ahead
var dd = targetDate.getDate();
var mm = targetDate.getMonth() + 1; // 0 is January, so we must add 1
var yyyy = targetDate.getFullYear();
var dateString = yyyy + "-" + mm + "-" + dd;
return dateString;
}
Upvotes: 0