我正在使用jQuery的Datepick maxDate选项将日历上的选择限制为90天。但是,用户可以覆盖该日期,并希望绕过该日期手动输入日期。如何使用javascript检查输入的日期是否在今天的90天内。日期格式现在为mm / dd / YYYY。例如2011年6月21日

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"     type="text/javascript"></script>
<input type="text" id="txtMaxDate" />
<input type="submit" />

$(function() {
$("#txtMaxDate").datepicker({
    maxDate: '+90d'
});
$('input:submit').click(function() {
    var today = new Date();
    var targetDate = $("#txtMaxDate").val();
    //$( "#txtMaxDate" ).datepicker( "option", "dateFormat", '@' );
    alert(today);
    alert(targetDate);

});
});


此处的示例-http://jsfiddle.net/6qmPP/1/

最佳答案

这似乎很好地工作:

$(function() {
    $("#txtMaxDate").datepicker({
        maxDate: '+90d'
    });
    $('input:submit').click(function() {
        var today = new Date();
        var targetDate = $("#txtMaxDate").datepicker( "getDate");
        if(Math.round(Math.abs(today - targetDate) / (1000 * 60 * 60 * 24)) > 90) {
            alert("date is more than 90 days from today");
        }
    });
});


正如其他人所说,请确保您在服务器端对此进行了验证。

09-19 04:08