我有一个这样的按钮:

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

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


由于首先要禁用它,启用它的方法是将其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="" />

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


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


使用Javascript

禁用html按钮 . getelementbyid(“按钮”)。Disabled = true; 启用html按钮 . getelementbyid(“按钮”)。禁用= false; 演示


使用jQuery

jQuery 1.6之前的所有版本

禁用html按钮 $(" #按钮”).attr(“禁用”,“禁用”); 启用html按钮 $(" #按钮”).removeAttr(“禁用”); 演示

jQuery 1.6之后的所有版本

禁用html按钮 $(" #按钮”)。道具(“禁用”,真正的); 启用html按钮 $(" #按钮”)。道具(“禁用”,假); 演示

注:在jquery 1.6.1的基础上更新了代码。建议使用最新的jquery文件和prop()方法。


只需Vanilla JavaScript就可以很容易地做到这一点,不需要任何库。

启用按钮

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

禁用按钮

 document.getElementById("Button").disabled=true;

不需要外部库。


$(".btncancel").button({ disabled: true });

这里'btncancel'是按钮的类名。


这肯定会奏效。

禁用按钮

$('#btn_id').button('disable');

启用按钮

$('#btn_id').button('enable');

坚持使用php…

为什么不只是允许按钮出现一旦上述条件得到满足。

<?
if (whatever == something) {
    $display = '<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>';
    return $display;
}
?>

没有jQuery禁用输入会更简单

Button.disabled=1;

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


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

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

要禁用div或span,请使用setAttribute

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

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


使用JavaScript禁用/启用html输入按钮:

(以及与裁判反应。取代“elementRef。如果不使用React,元素选择current)

 elementRef.current.setAttribute('disabled', 'disabled');

启用:

 elementRef.current.removeAttribute('disabled');

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

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

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