我有这个函数:
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中的元素一直被禁用。但是,一旦选中下拉列表项,它们应该变为活动状态...触发器没问题,所以你知道。 我可以使用警告框看到这个函数被调用了,并且它确实将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);
如果你需要更多的输入,请告诉我...
谢谢