Javascript IE问题:SCRIPT5007:无法获取属性';长度';未定义或空引用超链接;0“;ScriptResource.axd,第172行,字符17

Javascript IE问题:SCRIPT5007:无法获取属性';长度';未定义或空引用超链接;0“;ScriptResource.axd,第172行,字符17,javascript,internet-explorer,sharepoint,Javascript,Internet Explorer,Sharepoint,此问题仅在IE 9和IE 10中出现。我们正在使用SharePoint 2007,但SharePoint功能存在问题: function ValidatorOnChange(event) { if (!event) { event = window.event; } Page_InvalidControlToBeFocused = null; var targetedControl; if ((typeof(event.srcElement

此问题仅在IE 9和IE 10中出现。我们正在使用SharePoint 2007,但SharePoint功能存在问题:

function ValidatorOnChange(event) {
    if (!event) {
        event = window.event;
    }
    Page_InvalidControlToBeFocused = null;
    var targetedControl;
    if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
        targetedControl = event.srcElement;
    }
    else {
        targetedControl = event.target;
    }
    var vals;
    if (typeof(targetedControl.Validators) != "undefined") {
        vals = targetedControl.Validators;
    }
    else {
        if (targetedControl.tagName.toLowerCase() == "label") {
            targetedControl = document.getElementById(targetedControl.htmlFor);
            vals = targetedControl.Validators;
        }
    }
    var i;
    for (i = 0; i < vals.length; i++) {
        ValidatorValidate(vals[i], null, event);
    }
    ValidatorUpdateIsValid();
}
函数ValidatorOnChange(事件){
如果(!事件){
event=window.event;
}
Page_InvalidControlToBeFocused=null;
var目标控制;
if((typeof(event.srcmelement)!=“undefined”)&&(event.srcmelement!=null)){
targetedControl=event.src元素;
}
否则{
targetedControl=event.target;
}
var VAL;
if(typeof(targetedControl.Validators)!=“未定义”){
VAL=targetedControl.Validators;
}
否则{
if(targetedControl.tagName.toLowerCase()=“标签”){
targetedControl=document.getElementById(targetedControl.htmlFor);
VAL=targetedControl.Validators;
}
}
var i;
对于(i=0;i

有一个带有日历控件的文本框。设置日期后,会发生此错误,导致JS执行终止。我们看到的结果是弹出的日历没有关闭。我相信问题是由vals.length在执行验证程序时没有任何值引起的,但我不确定为什么它只出现在IE9和IE 10上。

我不认为错误是指vals.length,它引用的是ScriptResource.axd文件中的某个变量。解决这一问题的最大希望是尝试使用IE开发工具进行调试,并进行广泛的谷歌搜索。还可以尝试查找在ScriptResource.axd之前或在同一页面上调用的javascript的任何语法问题,因为有时这些错误会出现在ScriptResource.axd中,但起源于ScriptResource.axd之前。如中所示,此错误可能是由一些非常随机的事情引起的