gpt4 book ai didi

javascript - 无法设置 disabled=false (javascript)

转载 作者:技术小花猫 更新时间:2023-10-29 12:56:52 27 4
gpt4 key购买 nike

我有这个功能:

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)和一个 Action (false 或 true)并获取所有输入并在 div 内选择,并将它们的禁用属性设置为 false 或 true。

根据 Firebug,Div 内的元素一直处于禁用状态。但是一旦点击下拉列表选项,它们就应该处于事件状态......触发很好所以你知道。我可以看到使用警告框调用此函数,它实际上设置了 disabled=false。但是元素仍然被禁用。

需要指出的是,根据 firebug,disabled 属性如下所示:

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

请注意只有两个双引号...它不应该说“disabled='disabled'”或“disabled=true”吗?

关于如何进一步排除故障的任何提示?

下面是我调用函数的方式:

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

如果您需要更多信息,请告诉我...

谢谢

最佳答案

编辑以反射(reflect)评论。

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

根据我的经验,您也可以使用字符串值“禁用”或“”来实现此效果。这可能会起作用,因为当浏览器遇到这些值时,这些值会被强制转换为 bool 表示形式。

关于javascript - 无法设置 disabled=false (javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3557266/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com