无法设置disabled = false(javascript)

前端之家收集整理的这篇文章主要介绍了无法设置disabled = false(javascript)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个功能
function disableDiv(divId,action){
    var divId = byId(divId);

    if(action==true){
    divId.style.display='none';
    }
    else if(action==false){
    divId.style.display='block';
    }

    var inputs = divId.getElementsByTagName("input");
    var selects = divId.getElementsByTagName("select");
    var i;

    for (i=0; i<inputs.length; i++){
        inputs[i].disabled=action;
        }

    for (i=0; i<selects.length; i++){
        selects[i].disabled=action;
        }
}

这需要一个divId(DIV的id)和一个动作(false或true),并获取所有输入并在div内部进行选择,并将其disabled属性设置为false或true.

根据Firebug,Div中的元素一直被禁用.但是一旦触及了下拉列表选项,它们就应该是活跃的.触发很好,所以你知道.
我可以通过使用alert框看到这个函数,而实际上它设置为disabled = false.但是元素仍然被禁用.

值得一提的是,根据firebug,残疾人的属性如下所示:

<input name="test" id="test" disabled="">

注意只有两个双引号…不应该说“disabled =’disabled’”还是“disabled = true”?

有关如何进一步排查的任何提示

这是我如何调用功能

(category=="Cars")?disableDiv("nav_sub_cars",false):disableDiv("nav_sub_cars",true);

如果您需要更多的输入,只需让我知道…

谢谢

解决方法

编辑以反映意见.

根据W3C,您发布的代码应该是正确的. disabled属性是一个布尔属性.使用removeAttribute()方法也可能有帮助.

在我的经验中,您也可以使用字符串值“disabled”或“”来实现此效果.这可能会起作用,因为浏览器遇到这些值时,这些值被强制为布尔表示.

原文链接:https://www.f2er.com/js/152002.html

猜你在找的JavaScript相关文章