将php日期传递给javascript

将php日期传递给javascript,php,javascript,html,Php,Javascript,Html,我正在制作一个代码,当我选择开始日期时,将自动显示结束日期。结束日期为开始日期的+3天 <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 dat

我正在制作一个代码,当我选择开始日期时,将自动显示结束日期。结束日期为开始日期的+3天

<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>

功能日期(){
var startdate=document.getElementById('start');
var enddate=document.getElementById('end');
enddate.value=开始日期+3天;
}
此enddate.value=startdate+3天;我知道代码是错的。我不知道如何将日期传递给javascript。请提供帮助


<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>
功能日期(){ var numdays=document.getElementById('days'); var startdate=document.getElementById('start'); var enddate=document.getElementById('end'); //将所选内容转换为正确的日期格式 var old=新日期(Date.parse(startdate.value)); //重新约会 var newdate=新日期(); days=parseInt(numdays.value); //加上你想加多少天我用3天你可以用多少天 newdate.setDate(旧的.getDate()+天); enddate.value=newdate.getFullYear()+'-'+(newdate.getMonth()+1)+'-'+newdate.getDate(); }
只需在
日期()中传递开始日期。

var today=新日期(document.getElementById('start');
var dd=today.getDate();
var mm=today.getMonth()+1//一月是零!
var yyyy=today.getFullYear();
如果(dd在这里尝试


我想你需要创建一个日期对象,但是日期是由用户输入的。我如何获取日期框的值,然后将其传递给js?是的,它正在工作。它在当前日期中添加了3天。但是我想让用户输入日期。你在使用表单吗?为什么不发布表单以便我们更好地帮助你?日期是inp由用户输入。我需要获取输入日期中输入的值,然后将其传递给JS。有什么问题吗?您只想选择一个日期,并希望在右侧输入框中提前3天显示,对吗?我已编辑了我的答案,它在我这边起作用。您在选择日期后输入的值是否仍然相同。我不知道有什么问题。我刚刚复制了代码你给我的。我已经添加了js fiddle,当它完成时选择一个日期,点击同一个文本框并在上面输入。所以我需要先输入才能得到值?嗯,如何不按enter键也不发出警报?很抱歉,我对javascript知之甚少
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) ;
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; 
}