我们开发ASP.NET站点时,如果将jQuery UI Datepicker与ASP.NET的验证控件(如:RequiredFieldValidator)组合使用:
<asp:TextBoxID="txtDate"runat="server"></asp:TextBox><asp:RequiredFieldValidatorID="reqDate"runat="server"ControlToValidate="txtDate"ErrorMessage="*"></asp:RequiredFieldValidator><scripttype="text/javascript">$("#<%= txtDate.ClientID %>").datepicker();</script>那么当我们在Datepicker中选择某个日期时就会出现“'length'为空或不是对象”的错误。这由于Datepicker的bug造成的,经过我的研究,找到了一个很简单的解决方法——捕获Datepicker的onSelect事件,但不做任何处理: $("#<%= txtDate.ClientID %>").datepicker({ onSelect: function(dateText, inst) { // 不做任何处理 }}); 现在我们选择某个日期后就不会出现“'length'为空或不是对象”的错误了,而ASP.NET验证控件也可照常运行。