我有一个代码,就在去年,它还在工作。它所做的是,它禁止用户选择未来的日期。现在是一月,它似乎不工作。我不明白为什么。请帮助我解决这个问题。您的帮助将不胜感激。
这是输入:
<input id="reqDate" class="form-control col-md-7 col-xs-12" name="reqDate" required="required" type="date">
Javascript:
<script type="text/javascript">
var input = document.getElementById("reqDate");
var today = new Date();
var day = today.getDate();
// Set month to string to add leading 0
var mon = new String(today.getMonth()+1); //January is 0!
var yr = today.getFullYear();
if(mon.length < 2) { mon = "0" + mon; }
var date = new String( yr + '-' + mon + '-' + day );
input.disabled = false;
input.setAttribute('max', date);
</script>
顺便说一句,我正在使用这个代码在. php文件.
2条答案
按热度按时间1l5u6lss1#
与您使用的一样,原生
input[type="date"]
元素支持最大日期值:您用来设置日期的JavaScript不会对日期进行零填充,因此对于1月1日,您将得到日期max=“2016-01-1”。为了与您的JavaScript版本保持一致,请使用以下内容填充日期:
由于这是一个PHP脚本,为了简化代码,您可以用途:
注意:对
input[type="date"]
的支持因浏览器而异(请参见http://caniuse.com/#feat=input-datetime)。您可以通过在浏览器检查器中检查元素来确认所使用的最大值是否为正确的受支持RCF 3339格式。
cqoc49vn2#
您是否尝试在输入中使用最小属性。在html5中,我们可以使用正确的日期格式YYYY-MM-DD指定最小或最大属性