2011-06-21 79 views
0

我使用jQuery的Datepick maxDate選項將日曆上的選擇限制爲90天。但是用戶可以覆蓋它並手動鍵入日期,如果他們想要繞過它的話。如何使用javascript檢查輸入的日期是否在今天的90天之內。日期格式現在爲mm/dd/YYYY。防爆。這裏2011年6月21日如何檢查輸入日期是否在90天內?

<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/

+9

除了給出的答案之外,請注意有人可能只是禁用JS並張貼他們想要的任何內容 - 在服務器上以及在客戶端上進行驗證。 – Bojangles

回答

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"); 
     } 
    }); 
}); 

正如其他人所說,請確保您驗證這個在服務器端。

+0

這個很棒!謝謝! –

相關問題