Javascript 确保日期可以添加到过去

Javascript 确保日期可以添加到过去,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,我可以对这段代码做些什么来确保它可以允许在过去和将来添加缺勤?每当我试图添加过去的任何内容时,它似乎仍然希望给我一个错误,即我无法添加过去的缺勤。我甚至不知道如何编码以确保它可以,也不知道要删除哪个位。我知道有一些代码不允许我删除,但我不确定要删除哪些代码和删除哪些代码。我对JavaScript不是非常熟练,但它在我的项目中,我不确定如何使用它 dateValid: function () { var s = $(this).val(); if ($(this).require

我可以对这段代码做些什么来确保它可以允许在过去和将来添加缺勤?每当我试图添加过去的任何内容时,它似乎仍然希望给我一个错误,即我无法添加过去的缺勤。我甚至不知道如何编码以确保它可以,也不知道要删除哪个位。我知道有一些代码不允许我删除,但我不确定要删除哪些代码和删除哪些代码。我对JavaScript不是非常熟练,但它在我的项目中,我不确定如何使用它

dateValid: function () {
    var s = $(this).val();

    if ($(this).required()) {
        var date = new Date(s);

        if (!isNaN(date)) {
            if (date >= Date.parse(new Date().toDateString())) {
                $(this).removeClass("error");
                return true;
            }
            else {
                validation.showError("Past", $(this).attr("name"));
                $(this).addClass("error");
                return false;
            }
        }
        else {
            validation.showError("Invalid", $(this).attr("name"));
            $(this).addClass("error");
            return false;
        }
    }
    else return false;
},

dateRangeValid: function (toDate) {
    var s = $(this).val();

    if ($(this).required()) {
        if (toDate.required()) {
            var dateFrom = new Date(s);
            var dateTo = new Date(toDate.val());

            if (!isNaN(dateFrom) && !isNaN(dateTo)) {
                if (dateTo >= dateFrom) {
                    if (dateFrom >= Date.parse(new Date().toDateString())) {
                        $(this).removeClass("error");
                        toDate.removeClass("error");
                        return true;
                    }
                    else {
                        validation.showError("Past", "date");
                        $(this).addClass("error");
                        toDate.addClass("error");
                        return false;
                    }
                }
                else {
                    validation.showError("Invalid", "date");
                    $(this).addClass("error");
                    toDate.addClass("error");
                    return false;
                }
            }
            else {
                validation.showError("Invalid", "date");
                $(this).addClass("error");
                toDate.addClass("error");
                return false;
            }
        }
        else {
            validation.showError("Required", "dateTo");
            $(this).addClass("error");
            toDate.addClass("error");
            return false;
        }
    }
    else {
        validation.showError("Required", "dateFrom");
        $(this).addClass("error");
        toDate.addClass("error");
        return false;
    }
},
以下是您的错误:

            if (dateTo >= dateFrom) {

                // This if statement checks if dateFrom is today or later!!
                if (dateFrom >= Date.parse(new Date().toDateString())) { 

                    $(this).removeClass("error");
                    toDate.removeClass("error");
                    return true;
                }
                else {
                    validation.showError("Past", "date");
                    $(this).addClass("error");
                    toDate.addClass("error");
                    return false;
                }
            }
取代

            if (dateTo >= dateFrom) {
                $(this).removeClass("error");
                    toDate.removeClass("error");
                    return true;
            }

而且应该不会再有问题。

您的程序是否阻止在过去添加选定的日期,或者jQuery datepicker是否首先不允许您选择一个日期?我的程序阻止我在过去添加日期,它允许我选择它。对不起,这是不是要查看的错误代码?否则我可以选择另一位。是的,这段代码没什么作用。发布错误消息(如果有的话)和AddExistence的代码。错误来自UI本身。这是说一个编程错误信息,将不允许我添加到日期。但是,如果我删除了这个红色警报条消息,它只会显示一个空白的红色警报条,知道应该有错误,但我没有添加它。我很愚蠢,更新了正确的代码段。。。对不起^ ^;非常感谢你,你帮了我很大的忙-