Javascript 在 Win7 上使用 IE11 时出现运行时错误:无法设置未定义或空引用的 属性 'disabled'

Javascript runtime error using IE11 on Win7: Unable to set property 'disabled' of undefined or null reference

我目前正在处理一些 IE11 兼容性问题。该代码在兼容模式下功能齐全,因为它之前针对 IE5 最后进行了优化。

受影响的代码如下:

/*
 * This function sets the specified button state in the repair processing form
 */
function setOperationButton(buttonId, disabledState, sourceImage, styleCursor)
{
    var buttonElement = document.frmRepairProcessing.elements[buttonId];
    var sourceRoot = '<%=helper.getApplicationURL()%>' + '/zimages/' + '<%=localeString%>' + '/';
    buttonElement.disabled = disabledState;
    buttonElement.src = sourceRoot + sourceImage;
    buttonElement.style.cursor = styleCursor;   
}

所以我认为只需更新代码即可使用 getElementById,但我不太确定如何实现具体的形式。

请注意:我也尝试了 document.forms().elements() 并使用了 .value。

我相信使用下面的代码获取buttonElement是可以接受的:

function setOperationButton(buttonId, disabledState, sourceImage, styleCursor)
{
    var buttonElement = document.getElementById(buttonId);
    var sourceRoot = '<%=helper.getApplicationURL()%>' + '/zimages/' + '<%=localeString%>' + '/';
    buttonElement.disabled = disabledState;
    buttonElement.src = sourceRoot + sourceImage;
    buttonElement.style.cursor = styleCursor;   
}