如果所选日期是当前日期,则设置最小时间值

时间:2019-05-25 03:42:25

标签: javascript html date

我有两个分别为日期和时间类型的输入字段。用户应该不能选择已经过去(小于当前时间)的pickupDatepickupTime

我可以设置最短日期,以便用户无法选择过去的日期,但是在用最短的pickupTime进行操作时会遇到麻烦。目前正在做什么,如果我提前选择一天,例如26/05/2019,当前时间是3:30 PM我无法选择该2:30 PM,1:30 PM等之前的任何时间,因为最小时间是当前时间(不考虑日期在未来)。我如何才能做到只有选择当前日期,才能将pickupTime设置为最小值(即当前时间)?

booking.html

    <div class="pure-control-group">
        <label for="pickupDate">Pickup Date:</label>
        <input id="pickupDate" type="date" name="pickupDate" min="d" required>
    </div>
    <div class="pure-control-group">
        <label for="pickupTime">Pickup Time:</label>
        <input id="pickupTime" type="time" name="pickupTime" required>
    </div>


    <script>
        var d = new Date().toString("yyyy-MM-dd");
        var time = new Date().toString("HH:mm"); //changed from HH:mm
        document.getElementById("pickupDate").value = d;        
        document.getElementById("pickupTime").value = time;     
        pickupDate.min = d;

        if(pickupDate.value == d) {
            pickupTime.min = time;
        }
    </script>

我希望当前日期是否为25/05/2019 2:00 PM:
-如果所选的pickupDate为25/05/2019,则pickupTime不能为1:00 PM
-如果所选的pickupDate是26/05/2019,则pickupTime可以是1:00 PM

我的表结构为:

referenceNo VARCHAR(100)    
pickupDate  DATE
pickupTime  TIME

1 个答案:

答案 0 :(得分:0)

我并没有完全按照您想要的做,而是给出了一个示例,您可以在时间控件中设置一个计时器以限制返回。

<?php
$numberOfinstances = 3;
$i = 1;
$arr = array();
while ($i <= $numberOfinstances) {
    array_push($arr,'../../../toolbox'.$i.'/importer/tokens.CC.csv');
    //$arr[] = '../../../toolbox'.$i.'/importer/tokens.CC.csv';  
    $i++;
}
print_r($arr);
<field name="your_field_name" options="{'no_create_edit':True}" />