我已经对此问题进行了相当广泛的研究,并且我找到了一些有用的信息,但我无法解决我的问题。我要做的就是解析一个日期并将其与另一个日期进行比较。看似简单吧?这是我尝试过的:
function getCurrentDate() { //this function simply returns today's date
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = mm + '/' + dd + '/' + yyyy;
return today;
}
$("#TxtDate").blur(function () {
var projectDueDate = Date.parse($("#lblDueDate").val()); //parses the project due date label to create a date variable
var itemDueDate = new Date($("#TxtDate").val()); //parses the value the user entered into the due date box to create a date variable
var actualProjectDueDate = new Date(projectDueDate);
if (Date.parse(document.getElementById('TxtDate').value) > getCurrentDate()) {
alert("The date you entered precedes today's date. Please enter a valid date.");
$("#TxtDate").val() = "";
}
});
if
TxtDate
语句在blur
{{1}}函数中无效。它没有显示警报窗口,即使我输入的日期早于今天的日期。如你所见,我尝试了一些不同的东西。有什么建议吗?
答案 0 :(得分:0)
Date.parse()
返回日期对象,而getCurrentDate()
返回字符串。在那里添加Date.parse()
:
if (Date.parse(document.getElementById('TxtDate').value) > Date.parse(getCurrentDate()))
答案 1 :(得分:0)
您的功能getCurrentDate
正在返回string
而不是date object
,您正在将其与date object
进行比较。因此,您需要解析getCurrentDate
的返回值。
if (Date.parse(document.getElementById('TxtDate').value) > Date.parse( getCurrentDate())) {
alert("The date you entered precedes today's date. Please enter a valid date.");
$("#TxtLeaveFrom").val() = "";
}