繁体   English   中英

HTML的日期输入类型中的变量“ min”

[英]variable 'min' in date input type of HTML

我想要一个JavaScript来限制用户输入今天日期之后至少5天的日期。我已经写了js来获取今天的日期,但是我不知道如何动态地更改“最小”值。在2016年2月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>

尝试执行此操作-尽管不确定它是否可以在所有浏览器中运行-firefox和IE可能不支持日期/时间输入的最小值和最大值。 使用datetime或timestamp并将其用作数字(可能易于设置为min值)并修改输入,可能更好。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM