我正在使用jQuery的Datepick maxDate选项将日历上的选择限制为90天。但是如果用户想要绕过它,用户可以覆盖它并手动输入日期。如何用javascript检查输入的日期是否在今天的90天之内。日期格式现在为mm / dd / YYYY。防爆。 2011年6月21日
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js" type="text/javascript"></script>
<input type="text" id="txtMaxDate" />
<input type="submit" />
$(function() {
$("#txtMaxDate").datepicker({
maxDate: '+90d'
});
$('input:submit').click(function() {
var today = new Date();
var targetDate = $("#txtMaxDate").val();
//$( "#txtMaxDate" ).datepicker( "option", "dateFormat", '@' );
alert(today);
alert(targetDate);
});
});
此处示例 - http://jsfiddle.net/6qmPP/1/
答案 0 :(得分:3)
这似乎很有效:
$(function() {
$("#txtMaxDate").datepicker({
maxDate: '+90d'
});
$('input:submit').click(function() {
var today = new Date();
var targetDate = $("#txtMaxDate").datepicker( "getDate");
if(Math.round(Math.abs(today - targetDate) / (1000 * 60 * 60 * 24)) > 90) {
alert("date is more than 90 days from today");
}
});
});
正如其他人所说,请确保在服务器端验证这一点。