我想拥有与RadioButtons相关的文本框。因此,每个广播按钮都应启用其文本框并禁用其他按钮。但是,当我将文本框的禁用属性设置为true时,它也会更改可编辑属性。我尝试再次将可编辑属性设置为True,但它不起作用。
这就是我尝试的:
JS功能:
function enable(id)
{
var eleman = document.getElementById(id);
eleman.setAttribute("disabled", false);
eleman.setAttribute("editable", true);
}
XUL 元素:
<radio id="pno" label="123" onclick="enable('ad')" />
<textbox id="ad" editable="true" disabled="true" flex="1" emptytext="asd" onkeypress="asd(event)" tooltiptext="" >
答案
Adisabled
元素是(自我解释)残疾人,因此在逻辑上是不可编辑的,因此:
设置禁用属性[…]也更改可编辑属性
是一种预期且定义明确的行为。
这里的真正问题似乎是您要设置disabled
到false
通过setAttribute()
这不做您期望的。如果元素被禁用,如果disabled
- 属性是设置的,独立于其价值(因此,disabled="true"
,,,,disabled="disabled"
和disabled="false"
所有这些都一样:元素被禁用)。您应该删除完整的属性:
element.removeAttribute("disabled");
或直接设置该属性:
element.disabled = false;