Onclick事件无法捕获将来的日期。我一直收到自定义错误消息,指出“待定日期已经过去。”
此功能过去曾起作用,我可以宣誓于2018年底开始起作用。不知道为什么现在失败了。
按钮点击事件:
$('#markPendingSubmit').on('click', function(){
var pendingDate = $('#reservationtime').val();
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
console.log(pendingDate); // <-- correct prints user selected date (which is 01/09/2019)
if(mm<10) {
mm='0'+mm
}
today = mm+'/'+dd+'/'+yyyy;
if(pendingDate <= today)
{
$('#errorModal').modal('show');
$('.message').text('The pending date you selected has already passed. Please select a future pending date.');
return false;
}
else
{
// complete process
}
});
用户正在尝试将“ pendingDate”设置为1/09/2019,然后将其与变量“ today”进行比较,但由于它读取1/09/2019作为已过的日期而失败,即使今天是12/18/2018。
为什么会这样,我该如何解决?
答案 0 :(得分:0)
这是我解决问题的方式:
if(new Date(pendingDate) <= new Date(today))
{
$('#errorModal').modal('show');
$('.message').text('The pending date you selected has already passed. Please select a future pending date.');
return false;
}
因此,确保'pendingDate'和'today'均为Date对象,因此可以在if / else语句中进行比较。
这种简单的解决方法。