在我的Xpages应用程序中,我在输入字段上启用了一个引导日期选择器:
$(document).ready(
function() {
var dateFormat = "#{javascript: app['date_format_date_only_lowercase']}";
x$('#{id:inpCardValid}').datepicker({
language: sv,
format: (dateFormat),
weekStart: 1,
todayBtn: true,
clearBtn: true,
daysOfWeekHighlighted: "0,6",
calendarWeeks: true,
autoclose: true,
todayHighlight: true
}).on('changeDate', checkDate);
}
)
function checkDate() {
var from = x$('#{id:inpCardValid}').val();
var validDate = new Date(from);
var checkDate = Date.now();
checkDate = addDays(checkDate, 30);
if (checkDate >= validDate) {
XSP.openDialog("#{id:dlgLCardValidDate}")
}
}
function addDays(date, days) {
var result = new Date(date);
result.setDate(result.getDate() + days);
return result;
}
但是,在加载页面时onchange已经开始生效(可能是因为日期选择器需要格式化日期)。我只希望在用户进行更改时调用onchange函数。
我该怎么做?
我想,您可以在加载后通过任何方法设置日期,否则加载时不会触发更改事件。
尝试使用datepicker的hide事件进行计算,可能是格式化程序启动了onchange事件