0x800a138f-JavaScript运行时错误:无法获取属性';拆分';的未定义引用或null引用
本文关键字:引用 未定义 运行时错误 null 拆分 获取 属性 0x800a138f-JavaScript | 更新日期: 2023-09-27 18:21:17
我在一个文本框上设置了一个asp自定义验证器,该验证器附带了一个jQuery日期选择器。验证器在Chrome和FireFox上运行得很好,但当我在IE中运行它时,我会收到以下错误消息:0x800a138f - JavaScript runtime error: Unable to get property 'split' of undefined or null reference
。我做错了什么?
下面是我的验证函数和HTML代码。
编辑:将JS函数修改为如下,但现在我得到了一个不同的错误:Object doesn't support property or method 'split'
JavaScript:
function isValidDate(source, datetovalidate) {
if (datetovalidate != null) // null handing
{
var comp = String(datetovalidate);
if (comp != null && comp != undefined)
{
var arr = comp.split('/');
var m = parseInt(arr.split('/')[0], 10);
var d = parseInt(arr.split('/')[1], 10);
var y = parseInt(arr.split('/')[2], 10);
var date = new Date(y, m - 1, d);
}
var date = new Date(y, m - 1, d);
} else {
return false;
}
if (date.getFullYear() == y && date.getMonth() + 1 == m && date.getDate() == d) {
//Valid date
return true;
} else {
//Invalid date
return false;
}
}
HTML:
<asp:Label ID="lblDueDate" runat="server" AssociatedControlID="dpDueDate">Due Date:
<span class="required">*</span></asp:Label>
<asp:TextBox ID="dpDueDate" runat="server" MaxLength="10" />
<asp:CustomValidator ID="cvDueDate" runat="server" ControlToValidate="dpDueDate"
OnServerValidate="IsValidDate" ClientValidationFunction="isValidDate"
ErrorMessage="Please enter a valid date" ForeColor="red"
ValidateEmptyText="True"></asp:CustomValidator>
尝试使用arr[n]
而不是arr.split('/')[n]
。
var arr = comp.split('/');
var m = parseInt(arr[0], 10);
var d = parseInt(arr[1], 10);
var y = parseInt(arr[2], 10);