arukiri123
arukiri123

Reputation: 141

pass php date to javascript

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

Answers (3)

rohitarora
rohitarora

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

sandip
sandip

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:

  1. Start date

  2. Start date + 3 days i.e enddate

I hope it will help you!

Upvotes: 0

Keezy
Keezy

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

Related Questions