代码之家  ›  专栏  ›  技术社区  ›  nirvi

如何在日历javascript中禁用以前的日期?

  •  0
  • nirvi  · 技术社区  · 6 年前

    我正在尝试禁用日历中以前的日期。我使用的代码如下

    我的 HTML 代码如下。

    <input type="text" required name="date_from" name="date_from" class="mydate input-text full-width" placeholder="Departure Date" />
    

    我的 剧本 密码

    <script type="text/javascript">
     $(".mydate").datepicker({
           format:'yyyy-mm-dd',
           autoclose: true
       });
        $(".flexslider").flexslider({
            animation: "fade",
            controlNav: false,
            animationLoop: true,
            directionNav: false,
            slideshow: true,
            slideshowSpeed: 5000
        });
    </script>
    

    它显示未禁用以前日期的日历。

    7 回复  |  直到 4 年前
        1
  •  1
  •   Bits Please    6 年前

    尝试以下操作:

    $( ".mydate" ).datepicker({ minDate: 0});
    
        2
  •  1
  •   Danish Ali    6 年前

    使用 bootstrap date picker 。这些是要包括的文件

    <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.0/css/datepicker.css" rel="stylesheet" type="text/css" />
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.3.0/js/bootstrap-datepicker.js"></script>
    

    使用此代码禁用以前的日期

    HTML输入字段

    <input id="date" data-provide="datepicker" name="date_from" >

    JAVASCRIPT

    var date = new Date();
    date.setDate(date.getDate());
    
    $('#date').datepicker({ 
    startDate: date
    });
    
        3
  •  0
  •   Jaydip Shingala    6 年前

    应用datepicker时,需要设置minDate选项。

    试试这个,

    <script type="text/javascript">
    $(".mydate").datepicker({
           format:'yyyy-mm-dd',
           autoclose: true,
           minDate: 0,   
    }); 
    </script>
    
        4
  •  0
  •   Ties Vandyke    6 年前

    你必须设置minDate选项。示例+本论坛上的小提琴:

    jQuery Date Picker - disable past dates

        5
  •  0
  •   Bits Please    6 年前

    在datepicker上初始化时设置minDate

    minDate:new Date()
    
    
    $(".mydate").datepicker({
           format:'yyyy-mm-dd',
           autoclose: true,
           minDate:new Date()
       });
    
        6
  •  0
  •   B. Desai    6 年前

    从您的格式来看,您可能正在使用引导数据选择器。So使用 startDate 禁用以前的日期

    $(".mydate").datepicker({
           format:'yyyy-mm-dd',
           startDate: new Date(),
           autoclose: true
       });
    
        7
  •  0
  •   Pranay Teja    3 年前

    尝试此代码。。。如果用户提交的表单日期小于今天的日期,则会对用户进行限制,然后显示警告消息以更改日期。

    HTML代码

        <form name="myform" onsubmit="return validateDateOfAppointment()">
        <input type="date" name="Date of Appointment" placeholder="Date of Appointment" id="Date" />
    </form>
    

    JavaScript代码

    function validateDateOfAppointment(){
            var date=document.getElementById("Date").value;
            var d=new Date();
            var x=d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();
            var checkDate=date.substr(8,2);
            var equalDate=d.getDate();
            var checkMonth=date.substr(5,2);
            var equalMonth=d.getMonth();
            var checkYear=date.substr(0,4);
            var equalYear=d.getFullYear();
            if(checkMonth>=equalMonth){
                if(checkDate<equalDate){
                alert("Date cannot be less than today!! ");
                return false;
                }
            }
            else if(checkMonth<equalMonth){
                if(checkYear<equalYear){
                    alert("Date cannot be less than today!! ");
                    return false;
                }
            }
         }