我有一个这样的按钮:
<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>
当我需要时,我如何禁用和启用它?我已经尝试了disabled="disable",但启用它回来是一个问题。我试着把它设置回false,但那没有启用它。
disabled="disable"
因为你首先要禁用它,所以启用它的方法是将其disabled属性设置为false。
disabled
false
要在Javascript中改变它的disabled属性,你可以使用:
var btn = document.getElementById("Button"); btn.disabled = false;
很明显,要再次禁用它,你应该使用true代替。
true
因为你也用jQuery标记了问题,你可以使用.prop方法。喜欢的东西:
.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属性只有一个参数。如果你想重新启用它,你必须删除整个东西,而不仅仅是改变值。
禁用html按钮
document.getElementById("Button").disabled = true;
Enabling a html button
document.getElementById("Button").disabled = false;
Demo Here
All versions of jQuery prior to 1.6
Disabling a html button
$('#Button').attr('disabled','disabled');
$('#Button').removeAttr('disabled');
All versions of jQuery after 1.6
$('#Button').prop('disabled', true);
$('#Button').prop('disabled', false);
P.S. Updated the code based on jquery 1.6.1 changes. As a suggestion, always use the latest jquery files and the prop() method.
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;
function dis() { Button.disabled= !Button.disabled; }
<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/> <button onclick="dis()">Toggle disable</button>
<!--Button Disable Script--> <script type="text/javascript"> function DisableButton() { document.getElementById("<%=btnSave.ClientID %>").disabled = true; } window.onbeforeunload = DisableButton; </script> <!--Button Disable Script-->
虽然与问题没有直接关系,但如果你跳到这个问题上寻找禁用典型输入元素button, input, textarea以外的东西,语法将不起作用。
button, input, textarea
要禁用div或span,使用setAttribute
document.querySelector('#somedivorspan').setAttribute('disabled', true);
p.s.:明白了,只有当你打算禁用时才调用这个。chrome 83版本的一个错误导致即使第二个参数为false,该选项也总是禁用。
使用JavaScript禁用/启用html输入按钮:
(以及与裁判反应。取代“elementRef.current"如果不使用React,则使用元素选择)
elementRef.current.setAttribute('disabled', 'disabled');
启用:
elementRef.current.removeAttribute('disabled');
使用jQuery,你可以在一行中完成
//Enable $('#Button').prop('disabled', false) //Disable $('#Button').prop('disabled', true)