我有以下代码:
function CheckDOB(DOB)
{
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
var dobDate = new Date(DOB);
var dobDay = dobDate.getDate();
var dobMonth = dobDate.getMonth();
var dobYear = dobDate.getFullYear()
DOB = new Date(dobDay, dobMonth, dobYear );
console.log("DOB: " + DOB);
var today = Date(curr_date, curr_month, curr_year);
console.log("Today: "+ today);
if (DOB >= today)
{
console.log("in false");
alert("Date of Birth cannot be greater than today.");
alert = function(){};
return false;
}
else
{
console.log("in true");
return true;
}
}
function txtCompPersonDOB_OnChange()
{
var DOB = CSForm.getField('txtCompPersonDOB').getValue();
//console.log(DOB);
if(CheckDOB(DOB))
{
console.log("test on change: false")
CSForm.getField('txtCompPersonDOB').setFocus();
}
else
{
console.log("test on changeL true");
}
}
我使用的是旧版LiquidOffice,它允许您使用JavaScript创建电子表格。
日期选择器采用日期选择器(字符串格式),然后使用CheckDOB()
函数将其转换为日期。
这些是console.log()
结果:
由于某种原因,日期没有正确显示,并且比较已关闭。选择的DOB是27/01/2018
,但在记录的控制台中显示为10/09/1906
任何人都能告诉我自己错过了什么或做错了吗?
由于某种原因,警报不会被触发,且日期与选择的日期不符。