【问题标题】:Limit a date in input type date在输入类型 date 中限制日期
【发布时间】:2018-08-07 14:52:35
【问题描述】:

我想限制日期,以便用户不必选择少于一年的日期,但我希望它与系统日期相比自动完成。如果有人有想法,我将不胜感激。

【问题讨论】:

标签: javascript html vue.js


【解决方案1】:

可以获取当前日期并从当前年份中减去一年并设置min属性

var dtToday = new Date();

    var month = dtToday.getMonth() + 1;
    var day = dtToday.getDate();
    var year = dtToday.getFullYear();

    if(month < 10)
        month = '0' + month.toString();
    if(day < 10)
        day = '0' + day.toString();

    var minDate = (year-1) + '-' + month + '-' + day;    
    document.getElementById('dt').setAttribute('min', minDate);
&lt;input type="date"  id="dt"&gt;

【讨论】:

  • 你的代码似乎是我要找的,你能给我解释一下还是发表一些评论
【解决方案2】:

您可以为输入元素指定minmax 属性:

let input = document.querySelector("#test");

let nextYear = new Date(new Date().setFullYear(new Date().getFullYear() + 1));
let today = new Date();

input.max = formatDate(nextYear)

input.min = formatDate(today)

function formatDate(date) {
    var d = new Date(date),
        month = '' + (d.getMonth() + 1),
        day = '' + d.getDate(),
        year = d.getFullYear();

    if (month.length < 2) month = '0' + month;
    if (day.length < 2) day = '0' + day;

    return [year, month, day].join('-');
}
&lt;input type="date" id="test"/&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-03
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多