Javascript 变量';最小值';输入HTML的日期类型

Javascript 变量';最小值';输入HTML的日期类型,javascript,html,web-applications,Javascript,Html,Web Applications,我想要一个JavaScript来限制用户输入的日期至少比今天的日期晚5天。我写了js来获取今天的日期,但我不知道如何动态更改“min”值。在这里,我输入了min的常量值2016-02-14。如何将其设为变量 <input type='date' id='d1' name='d1' min="2016-02-14"> <script type="text/javascript"> var d1 = new Date(); var y1= d1.getFullYear();

我想要一个JavaScript来限制用户输入的日期至少比今天的日期晚5天。我写了js来获取今天的日期,但我不知道如何动态更改“min”值。在这里,我输入了min的常量值2016-02-14。如何将其设为变量

<input type='date' id='d1' name='d1' min="2016-02-14">
<script type="text/javascript">
var d1 = new Date();
var y1= d1.getFullYear();
var m1 = d1.getMonth()+1;
if(m1<10)
  m1="0"+m1;
var dt1 = d1.getDate();
if(dt1<10)
  dt1 = "0"+dt1;
var d2 = y1+"-"+m1+"-"+dt1;
document.getElementById('d1').value=d2;
</script>

var d1=新日期();
变量y1=d1.getFullYear();
var m1=d1.getMonth()+1;

如果(m1试试这个-不确定它在所有浏览器中都能工作-firefox和IE可能不支持日期/时间输入的最小值和最大值。最好使用日期时间或时间戳,并将其用作数字(很容易设置为最小值)并修改输入

 <!DOCTYPE html>
<html>
<head>
<title>Date</title>
    <meta charset="utf-8">
</head>

<body>
    <form>
        <input type='date' id='d1' name='d1' min="">
    </form>
<script>
    var d1 = new Date();
        var y1= d1.getFullYear();
        var m1 = d1.getMonth()+1;
            if(m1<10){ m1="0"+m1};
        var dt1 = d1.getDate();
            if(dt1<10){dt1 = "0"+dt1};
        var d2 = y1+"-"+m1+"-"+dt1;
    document.getElementById('d1').value=d2;


    var future = new Date();
future.setDate(future.getDate() + 5);
 var futureYear= future.getFullYear();
    var futureMonth = future.getMonth()+1;
        if(futureMonth<10){futureMonth="0"+futureMonth};
    var futureDay = future.getDate();
        if(futureDay<10){futureDay = "0"+futureDay};
    var futureDate = futureYear+"-"+futureMonth+"-"+futureDay;
    document.getElementById('d1').setAttribute("min", futureDate);
</script>
</body>
</html>

日期
var d1=新日期();
变量y1=d1.getFullYear();
var m1=d1.getMonth()+1;

如果(m1)试试这个:document.getElementsByID(“d1”).setAttribute(“min”,yourdate);是的,tat工作得很好!!!!如果date在26-30之间…添加+5对date变量有效吗?没有任何逻辑错误吗?是的,它应该是l。我只是在代码中试验了日期-添加15天使第一个可用日期在本月29日(这是闰年)然后我把它改为增加16,并在下个月的第一天(2016年3月1日)发布了第一个可用日期。我喜欢javascript!很高兴能提供帮助。愉快的编码-不过请记住跨浏览器问题。它可能不会为所有人提供所需的结果。