如何防止在 html 日期输入中选择多个日期?

Posted

技术标签:

【中文标题】如何防止在 html 日期输入中选择多个日期?【英文标题】:how can i prevent choosing sevral dates in html date input? 【发布时间】:2020-04-25 23:15:14 【问题描述】:

我正在开发一个预订网站,人们可以在其中选择入住和退房,所以我们假设所选房间从 20 点到 30 点很忙。

我的输入会是这样的

<input id="check_in" name="check_in" type="date"   value="" class="form-control" placeholder="Check-in"   required min="30" >

我试图阻止用户在 20 和 30 之间进行选择

但我在这个 html 标记中所能做的就是阻止在 30 之前进行选择。

并且还假设房间从 1 到 20 到 30 可以很忙, 如何让用户在 10 和 20 之间进行选择?

【问题讨论】:

您可能需要一些 JS 来检查所选日期是否在 20 到 30 之间(如果是,则拒绝它)。我认为这对于纯 HTML 是不可能的。 这能回答你的问题吗? Disable certain dates from html5 datepicker @yesterday 提问者添加了 javascript 标签。我认为是有意识的使用 Javascript。 @Natrium 感谢您的帮助,但不,这不是我的问题!我想防止多个日期不仅仅是一个 @Natrium bro 这个问题是 6 年前提出的,我读过它 【参考方案1】:

你可以用这个...

 <input type="date" min="2020-01-01" max="2020-01-19"/>

或者如果这不起作用,下面是限制日期的设置,您可以通过在 javascript 中设置最大值和最小值来动态更改它。

        $(function ()           

            $("#departure").igDatePicker(
                minValue: new Date(2020, 0, 1),
                maxValue: new Date(2020, 0, 19),
                dateDisplayFormat: "yy/MM/dd dddd"
            );
            
        );
<!DOCTYPE html>
<html>
<head>
    <!-- Ignite UI Required Combined CSS Files -->
    <link href="http://cdn-na.infragistics.com/igniteui/2019.2/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" />
    <link href="http://cdn-na.infragistics.com/igniteui/2019.2/latest/css/structure/infragistics.css" rel="stylesheet" />
    <style>
        h3 
            font-size: 20px;
            margin-bottom: 20px;
        

        .group-fields 
            margin-bottom: 10px;
        

        .group-fields label 
            display: block;
            line-height: 18px;
        

        .group-fields .inline 
            display: inline;
        

        .group-fields .ui-igcheckbox-normal 
            margin-right: 5px;
            float: left;
        

        .group-fields .ui-igedit-container 
            width: 230px;
        

        .clearfix:after 
            content: "";
            display: table;
            clear: both;
        

        .group-fields.clearfix > div 
            float: left;
            margin-right: 10px;
        
    </style>

    <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script>

    <!-- Ignite UI Required Combined JavaScript Files -->
    <script src="http://cdn-na.infragistics.com/igniteui/2019.2/latest/js/infragistics.core.js"></script>
    <script src="http://cdn-na.infragistics.com/igniteui/2019.2/latest/js/infragistics.lob.js"></script>
</head>
<body>
   
    <div class="group-fields clearfix">
        <div>
            <label for="departure">Please enter date between 1 Jan to 19 Jan 2020</label>
            <input id="departure" />
        </div>
      
    
    </body>
</html>

【讨论】:

以上是关于如何防止在 html 日期输入中选择多个日期?的主要内容,如果未能解决你的问题,请参考以下文章

防止用户在 html5 日期文本框中输入

如何防止在 DatePicker JDeveloper 中选择过去的日期?

如何防止单击日期并在引导日期选择器中显示警报消息?

日期输入自动格式化和防止字母字符

设置 minDate 以防止在开始日期之前选择结束日期

asp编程中如何设定文本框为数字型