使用javascript在选择列表中选择的下一个日期

使用javascript在选择列表中选择的下一个日期,javascript,html,Javascript,Html,我希望日期选择为2014年8月14日 请帮助处理javascipt部分,数据应保持静态选择列表将保持静态 只修改javascript。 我很难从下拉列表中选择下一个日期。将此添加到JavaScript中 <html> <head> <script> function data() { var today = new Date(); var mon

我希望日期选择为2014年8月14日 请帮助处理javascipt部分,数据应保持静态选择列表将保持静态 只修改javascript。
我很难从下拉列表中选择下一个日期。

将此添加到JavaScript中

<html>

    <head>
        <script>
            function data() {
                var today = new Date();

                var month = new Array();
                month[0] = "January";
                month[1] = "February";
                month[2] = "March";
                month[3] = "April";
                month[4] = "May";
                month[5] = "June";
                month[6] = "July";
                month[7] = "August";
                month[8] = "September";
                month[9] = "October";
                month[10] = "November";
                month[11] = "December";


                var d = today.getDate();
                var m = month[today.getMonth()];
                var y = today.getFullYear();


            }
        </script>
    </head>

    <body onload="data();">
        <select id="day">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="20">20</option>
        </select>
        <select id="month">
            <option value="Jan">Jan</option>
            <option value="Feb">Feb</option>
            <option value="Mar">Mar</option>
            <option value="Apr">Apr</option>
            <option value="May">May</option>
            <option value="Jun">Jun</option>
            <option value="Jul">Jul</option>
            <option value="Aug">Aug</option>
            <option value="Sep">Sep</option>
            <option value="Oct">Oct</option>
            <option value="Nov">Nov</option>
            <option value="Dec">Dec</option>
        </select>
        <select id="year">
            <option value="2014">2014</option>
            <option value="2015">2015</option>
        </select>
    </body>

</html>
小提琴:

在您的标签中:

并从body标记中删除onload属性


请参阅。

我建议使用JS循环创建所有这些选项。可能重复的不是重复的,不同的是我们为什么不能在正文中使用onload?如果你看代码,你会发现我将日期增加了1天。但实际上,执行代码时不会增加。今天是8月13日,页面加载时,它显示2014年8月14日被选中。查看我添加的JSFIDLE。它的8月14日是因为我将系统日期更改为8月6日是12点。它仍然不是6 n不是7如何处理8月31日,那么下一个日期应该是9月1日。这不会将日期增加到第二天…只是想添加一点更多的条件,例如,如果用户选择了过去的几个月,比如1月到2月,因为我们进入8月和过去的日期,如1至13日,或者如果2014年已过,则抛出一个错误作为“选择验证日期”…我如何才能做到这一点?
  function getNextDate(currentMonth){
     switch(currentMonth) {
         case "January":
         case "March":
         case "May":
         case "July":
         case "August":
         case "October": if(d==31) {
                 d=1;
                 m=month[today.getMonth()+1];
               } else {
                 d++;
               }
             break;
         case "December": if(d==31) {
                 d=1;
                 m=month[today.getMonth()+1];
                 y++;
             } else {
                 d++;
             }
             break;
         case "February": if(d==28) {
                 d=1;
                 m=month[today.getMonth()+1];
              } else {
                 d++;
              }
             break;
         default: if(d==30) {
                 d=1;
                 m=month[today.getMonth()+1];
              } else {
                 d++;
              }
             break;
     }
 };
            getNextDate(m);
            document.getElementById('day').value = d;
            document.getElementById('month').value = m.slice(0,3);
            document.getElementById('year').value = y;
function data() {
    'use strict';

    // Get today's date
    var today = new Date();

    // Create an array of month names for the month fields
    var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

    // Increase date by 1 day
    today = new Date(today.valueOf() + 86400000);

    // Set the values
    document.getElementById('day').value = today.getUTCDate();
    document.getElementById('month').value = monthNames[today.getUTCMonth()];
    document.getElementById('year').value = today.getUTCFullYear();
}

// Automatically do this on load
window.addEventListener('load', data, false);