我正在使用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/
最佳答案
这似乎很好地工作:
$(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");
}
});
});
正如其他人所说,请确保您在服务器端对此进行了验证。