[英]"Uncaught TypeError: Cannot read property 'toString' of null"
当我调试此代码时,我在 if 语句的“else”部分收到此错误。 我对java脚本不是很熟悉,所以任何帮助都会很棒:)
function doDDItemSelected() {
var oSrc = event.srcElement
var oCrit
var oCritB
var lstListItems
var iCritPK = oSrc.getAttribute('CRIT_PK')
oSrc.style.visibility = "hidden";
oSrc.style.display = "none";
if (oSrc.id.indexOf("lstCritB") != -1) {
oCrit = $get('CritB' + iCritPK.toString());
oCrit.value = oSrc.options[oSrc.selectedIndex].text;
} else {
oCrit = $get('Crit' + iCritPK.toString()); // error is in this line
oCrit.value = oSrc.options[oSrc.selectedIndex].text;
if (oCrit.onchange) {
oCrit.onchange();
}
// Set the value of the end of range field if there is one
try {
oCritB = $get('CritB' + iCritPK.toString());
if (oCritB.value == "") {
if (oSrc.options[oSrc.selectedIndex].value != "(ALL)") {
oCritB.value = oSrc.options[oSrc.selectedIndex].text;
}
}
} catch (e) {
return;
}
}
}
编辑:我应该补充一点,此功能用于在 Web 浏览器中选择下拉框。 问题是我无法在下拉框中选择项目并将所选项目显示在同一个框中。 此代码适用于 IE11,但不适用于 Google Chrome。
嗨,尝试将事件作为参数传递
function doDDItemSelected(event) {
这是因为该变量是调用getAttribute
方法的结果,如果未设置,它将返回 null。 null
不包含方法“toString”,因此正确引发了错误。
也许考虑做一个else if
case 来检查值是否明确不为空。
...
}
else if ( iCritPK !== null ) {
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.