所以我有一个这样的按钮:
<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>
如何在需要时禁用和启用它?我尝试了disabled="disable"
,但启用它是一个问题。我尝试将其设置为false,但是没有启用它。
答案 0 :(得分:342)
禁用html按钮
document.getElementById("Button").disabled = true;
启用html按钮
document.getElementById("Button").disabled = false;
1.6之前的所有jQuery版本
禁用html按钮
$('#Button').attr('disabled','disabled');
启用html按钮
$('#Button').removeAttr('disabled');
1.6之后的所有jQuery版本
禁用html按钮
$('#Button').prop('disabled', true);
启用html按钮
$('#Button').prop('disabled', false);
<强> P.S。根据{{3}}更新了代码。作为建议,请始终使用最新的jquery文件和prop()
方法。
答案 1 :(得分:19)
由于您首先要禁用它,因此启用它的方法是将其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="" />
您需要完全删除该属性或设置其属性。
答案 2 :(得分:9)
只需直接使用JavaScript即可轻松完成此操作,无需库。
启用按钮
document.getElementById("Button").disabled=false;
停用按钮
document.getElementById("Button").disabled=true;
无需外部库。
答案 3 :(得分:3)
disable属性只有一个参数。如果你想重新启用它,你必须删除整个事情,而不仅仅是更改值。
答案 4 :(得分:2)
$(".btncancel").button({ disabled: true });
这里&#39; btncancel&#39;是按钮的类名。
答案 5 :(得分:0)
没有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>
答案 6 :(得分:0)
<!--Button Disable Script-->
<script type="text/javascript">
function DisableButton() {
document.getElementById("<%=btnSave.ClientID %>").disabled = true;
}
window.onbeforeunload = DisableButton;
</script>
<!--Button Disable Script-->
答案 7 :(得分:0)
虽然与该问题没有直接关系,但是如果您跳至该问题以禁用除典型输入元素button, input, textarea
之外的其他内容,则该语法将无效。
要禁用div或跨度,请使用setAttribute
document.querySelector('#somedivorspan').setAttribute('disabled', true);
P.S:知道,只有在您要禁用时才调用此命令。 chrome版本83中的错误会导致该错误始终停用,即使第二个参数为false。
答案 8 :(得分:0)
使用JavaScript禁用/启用html输入按钮:
(如果没有使用React,则使用带有引用的React。将“ elementRef.current”替换为元素选择)
elementRef.current.setAttribute('disabled', 'disabled');
启用:
elementRef.current.removeAttribute('disabled');
答案 9 :(得分:-2)
这肯定有用。
禁用按钮
$('#btn_id').button('disable');
启用按钮
$('#btn_id').button('enable');
答案 10 :(得分:-5)
坚持使用php ...
为什么不在上述条件满足后才允许按钮出现。
<?
if (whatever == something) {
$display = '<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>';
return $display;
}
?>