0

開始日を選択すると、終了日が自動的に表示されるコードを作成しています。終了日は開始日の +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>

この enddate.value = startdate + 3 日; 私はコードが間違っていることを知っています。日付をJavaScriptに渡す方法がわかりません。助けてください

4

3 に答える 3

1
<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>
于 2013-02-15T06:38:49.493 に答える
0

ここで試してみてくださいデモ

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; 
}
于 2013-02-15T06:41:01.043 に答える
0

で開始日を渡すだけです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) ;

これにより、2 つの日付が得られます。

  1. 開始日

  2. 開始日 + 3 日、つまり終了日

それがあなたを助けることを願っています!

于 2013-02-15T06:38:58.190 に答える