在IE上禁用按钮的问题

时间:2015-06-02 17:47:39

标签: javascript internet-explorer

我目前在IE上禁用按钮时遇到问题。

问题应该很容易修复......我希望在功能运行时禁用按钮但由于某种原因在IE上按钮永远不会被禁用...我已尝试两个接近他们两个工作Chrome和FF,但我无法在IE上工作......

document.getElementById('printImage').setAttribute('disabled', true);

document.getElementById('printImage').disabled = true;

此外,如果我继续使用IE上的开发人员工具并手动设置禁用属性,它确实有效,所以我不知道发生了什么。

更新

好的,所以问题不在于设置属性....问题是基本上我这样做:首先我禁用按钮,然后我使用window.open打开一个新窗口,之后我做所以随机的东西,最后我做window.focus然后window.print(),最后我做window.close()一个我重新启用按钮但由于某种原因IE即使新打开的窗口是重新启用它仍然打开...这在Chrome中工作正常,因为它等待新窗口关闭再次启用按钮

感谢您提供的任何帮助!

2 个答案:

答案 0 :(得分:1)

disabled属性的正确值为disabled。尝试:

document.getElementById('printImage').setAttribute('disabled', 'disabled');

撤消:

document.getElementById('printImage').removeAttribute('disabled');

答案 1 :(得分:-1)

也许像下面这样简单的方法就可以了。我的解决方案在IE中没有问题。您使用的是哪个版本的IE?

document.getElementById("printImage").disabled = true;

您还可以将上述解决方案更改为可重复使用的功能,甚至可以给它一个参数,以便您可以更改其中使用的ID:

function undisableBtn() {
    document.getElementById("printImage").disabled = false;
}
function disableBtn() {
    document.getElementById("printImage").disabled = true;
}

这是一个功能更精细的方法:

// bttnStatus: set to true to disable, and false to enable
function buttonStatus(bttnID,bttnStatus){
    if(bttnStatus == true){
        document.getElementById(bttnID).disabled = true;
    } else {
        document.getElementById(bttnID).disabled = false;
    }
}

buttonStatus('printImage',true);
相关问题