Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 0x800a138f-JavaScript运行时错误:无法获取属性';拆分';指未定义的或空的引用_C#_Javascript_.net_Internet Explorer - Fatal编程技术网

C# 0x800a138f-JavaScript运行时错误:无法获取属性';拆分';指未定义的或空的引用

C# 0x800a138f-JavaScript运行时错误:无法获取属性';拆分';指未定义的或空的引用,c#,javascript,.net,internet-explorer,C#,Javascript,.net,Internet Explorer,我在一个文本框上设置了一个asp自定义验证器,该文本框附带了一个jQuery日期选择器。 验证程序在Chrome和FireFox上运行得很好,但是当我在IE中运行它时,我收到以下错误消息:0x800a138f-JavaScript运行时错误:无法获取未定义或空引用的属性“split”。我做错了什么 下面是我的验证函数和HTML代码 编辑:将JS函数修改为以下内容,但现在我遇到了另一个错误:对象不支持属性或方法“拆分” JavaScript: function isValidDate(source

我在一个文本框上设置了一个asp自定义验证器,该文本框附带了一个jQuery日期选择器。 验证程序在Chrome和FireFox上运行得很好,但是当我在IE中运行它时,我收到以下错误消息:
0x800a138f-JavaScript运行时错误:无法获取未定义或空引用的属性“split”
。我做错了什么

下面是我的验证函数和HTML代码

编辑:将JS函数修改为以下内容,但现在我遇到了另一个错误:
对象不支持属性或方法“拆分”

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:

截止日期:
*

尝试使用
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);

显然
comp.split('/')[3]返回未定义的
。因此,
comp
不包含一个值,该值在
/
上拆分时返回一个由4个元素组成的数组。解决方案:首先验证输入字符串。如果
datetovalidate
包含
09/09/2014
,并且希望
arr
包含
['09'、'09'、'2014']
,只需使用
var arr=comp.split('/')
       var arr = comp.split('/');
       var m = parseInt(arr[0], 10);
       var d = parseInt(arr[1], 10);
       var y = parseInt(arr[2], 10);