首页 > 解决方案 > Php 在 datetime_local 选择器中禁用过去的几天

问题描述

我正在制作活动日历。我目前正在寻找禁用以前日期的方法,datetime_local并且最小日期和时间是当前日期。还有其他方法吗?

<div class="form-group">
<label for="datetime_start" class="control-label">DateTime Start:</label>
<input type="datetime-local" class="form-control" name="datetime_start" id="datetime_start">
</div>

标签: phphtml

解决方案


如果您查看datetime-local 的定义,您会发现它具有 min 和 max 属性。您可以使用 PHP 设置最小时间:

<input type="datetime-local" 
     class="form-control" 
     name="datetime_start" 
     id="datetime_start" 
     min="<?php echo date('Y-m-d\TH:i') ?>"
>

请注意,这并不总是以您想要的方式工作

由于浏览器对本地日期时间的支持有限,以及输入工作方式的变化,目前最好使用框架或库来呈现这些,或者使用您自己的自定义输入。另一种选择是使用单独的日期和时间输入,每个输入都比本地日期时间更广泛地支持。


推荐阅读