我想拥有与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元素是(自我解释)残疾人,因此在逻辑上是不可编辑的,因此:

设置禁用属性[…]也更改可编辑属性

是一种预期且定义明确的行为。

这里的真正问题似乎是您要设置disabledfalse通过setAttribute()这不做您期望的。如果元素被禁用,如果disabled - 属性是设置的,独立于其价值(因此,disabled="true",,,,disabled="disabled"disabled="false"所有这些都一样:元素被禁用)。您应该删除完整的属性:

element.removeAttribute("disabled");

或直接设置该属性:

element.disabled = false;

来自: stackoverflow.com