我有以下内容:
<input type="date" max="2014-10-31">
我可以只指定年和月?我想这就像是:
<input type="date" max="2014-10-xx">
或只是
<input type="date" max="2014-10">
(假设格式为yyyy / mm / dd)。
剩下的就是HTML。我不能具体说明这一天,只有年和月(由服务器端给出),因为每个月有不同的最大天数(如2月,有28个)。所以,最多不能是31。
当我把 31 [day]作为max属性时,有28,30个月停止工作的月份,我的意思是,input
变得奇怪,所以我可以修改这个月也是如此,但不会发生因为用户应该只能更改日 - 月份和日期是具体的。
答案 0 :(得分:2)
您可以使用以下内容:
<input class="month-date" type="date" max="2014-02">
var els = document.getElementsByClassName("month-date");
for(var i=0, l=els.length; i<l; ++i) {
var max = els[i].getAttribute('max').split('-');
max.push(new Date(max[0], max[1], 0).getDate());
els[i].max = max.join('-');
}
答案 1 :(得分:1)
不,你不能用HTML做到这一点。根据定义,<input type="date" ...>
中的max
值必须是特定日期,且必须是有效日期。
您应该在生成HTML标记时计算预期月份的最后一天。
答案 2 :(得分:0)
是的,您可以使用以下内容:
Date(day/month/year): <input type="date" value="2017-07-20" min="2000-01-01" max="2020-01-01">
<hr />
Date(Month/Year): <input type="month" value="2017-07" min="2000-01" max="2020-01">
<hr />
Date(year): <input type="number" value="2017" min="2000" max="2020">