我們開發ASP.NET站點時,如果將jQuery UI Datepicker與ASP.NET的驗證控件(如:RequiredFieldValidator)組合使用:
代碼如下:
<asp:TextBox ID="txtDate" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqDate" runat="server" ControlToValidate="txtDate" ErrorMessage="*"></asp:RequiredFieldValidator>
<script type="text/javascript">$("#<%= txtDate.ClientID %>").datepicker();
</script>
那麼當我們在Datepicker中選擇某個日期時就會出現“'length'為空或不是對象”的錯誤。這由於Datepicker的bug造成的,經過我的研究,找到了一個很簡單的解決方法——捕獲Datepicker的onSelect事件,但不做任何處理:
代碼如下:
$("#<%= txtDate.ClientID %>").datepicker({
onSelect: function(dateText, inst) {
// 不做任何處理
}
});
現在我們選擇某個日期後就不會出現“'length'為空或不是對象”的錯誤了,而ASP.NET驗證控件也可照常運行。