由于我无法获得与jQuery datapicker相关的问题的任何解决方案,我想我可能需要编写代码来自己验证日期。我有一个日期格式为mm.dd.yyyy的文本框。如何验证文本框中的日期不应大于模糊时的当前日期?
Reminder.config = {
BaseURL: "Reminder.ashx?" + Reminder.BaseURLQuery,
tblHistory: "#tblHistory",
txtNotes: "#txtNotes",
txtDate: "#txtDate",
btnSave: "#btnSave",
dateFormat: 'mm.dd.yy',
};
Reminder.Init = function () {
//Set up calendar
var $txtDate = $(Reminder.config.txtDate);
$txtDate.datepicker({
dateFormat: Reminder.config.dateFormat,
onClose: function (dateText, inst) {
try {
$.datepicker.parseDate(Reminder.config.dateFormat, dateText);
} catch (e) {
$txtDate.val('');
};
},
maxDate: '+0'
});
$txtDate.datepicker('setDate', new Date()).blur(function () {
try {
if ($txtDate.val() == '') {
$txtDate.datepicker('setDate', new Date());
}
}
catch (ex) {
var myEx = myWeb.Exception(ex);
myEx.AddData("Method", "$txtDate.datepicker('setDate', new Date()).blur");
}
});
};
答案 0 :(得分:1)
首先,您已经将日期选择器限制为未来选择日期。 但你不能说出那个问题似乎......不管怎样......
像这样的模糊偶数处理程序应该按预期工作:
$txtDate.blur(function(e){
// this is now
var now = new Date();
// let date picker parse the date since it has formatting set
var date = $txtDate.datepicker("getDate");
// is date ok then?
if ((date || new Date()) >= now)
{
alert("Does not compute");
}
});
答案 1 :(得分:0)
我首先从文本框中解析提供的日期,然后将它的getTime()返回值与(new Date())的值进行比较.getTime()返回值。
如果第一个大于后者,那么您提供的日期将在未来。
答案 2 :(得分:0)
您可以使用date.js验证任何日期格式