jQuery UI Datepicker length为空或不是对象错误的解决方法

(编辑:jimmy 日期: 2024/10/12 浏览:2)

我们开发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验证控件也可照常运行。

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。