我有一个这样的按钮:

<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>

当我需要时,我如何禁用和启用它?我已经尝试了禁用=“禁用”,但启用它回来是一个问题。我试着把它设置回false,但那没有启用它。


当前回答

没有jQuery禁用输入会更简单

Button.disabled=1;

函数 dis() { 按钮禁用= !按钮禁用; } <输入 id=“按钮” 类型=“按钮” 值=“+” 样式=“背景颜色:灰色” onclick=“Me();”/> <按钮点击=“dis()”>切换禁用</button>

其他回答

由于首先要禁用它,启用它的方法是将其disabled属性设置为false。

要在Javascript中更改它的disabled属性,你可以使用这个:

var btn = document.getElementById("Button");
btn.disabled = false;

很明显,要禁用它,你会用true代替。

由于您还使用jQuery标记了问题,因此可以使用.prop方法。喜欢的东西:

var btn = $("#Button");
btn.prop("disabled", true);   // Or `false`

这是jQuery的新版本。旧的方法是添加或删除一个属性,如下所示:

var btn = $("#Button");
btn.attr("disabled", "disabled");
// or
btn.removeAttr("disabled");

disabled属性的存在禁用了元素,所以不能将其值设置为“false”。即使下面的代码也应该禁用该元素

<input type="button" value="Submit" disabled="" />

您需要完全删除该属性或设置其属性。

 <!--Button Disable Script-->
    <script type="text/javascript">
        function DisableButton() {
            document.getElementById("<%=btnSave.ClientID %>").disabled = true;
        }
        window.onbeforeunload = DisableButton;
    </script>
    <!--Button Disable Script-->

使用jQuery,你可以在一行中完成

//Enable
$('#Button').prop('disabled', false)

//Disable
$('#Button').prop('disabled', true)

disable属性只有一个参数。如果你想重新启用它,你必须删除整个东西,而不仅仅是改变值。

虽然与问题没有直接关系,但如果您跳到这个问题上,希望禁用典型的输入元素按钮、input、textarea以外的东西,那么语法将不起作用。

要禁用div或span,请使用setAttribute

document.querySelector('#somedivorspan').setAttribute('disabled', true);

p.s.:明白了,只有当你打算禁用时才调用这个。chrome 83版本的一个错误导致即使第二个参数为false,该选项也总是禁用。