Javascript 禁用和启用html输入按钮
我有一个这样的按钮:Javascript 禁用和启用html输入按钮,javascript,jquery,Javascript,Jquery,我有一个这样的按钮: <input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/> 我如何在需要时禁用和启用它?我已经尝试了disabled=“disable”,但是重新启用它是一个问题。我尝试将其设置回false,但没有启用它 由于您首先要禁用它,因此启用它的方法是将其disabled属性设置为false 要在Javascript中更改其disabled属性
<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>
我如何在需要时禁用和启用它?我已经尝试了
disabled=“disable”
,但是重新启用它是一个问题。我尝试将其设置回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="" />
您需要完全删除属性,或者设置属性。禁用属性只有一个参数。如果您想重新启用它,您必须删除整个内容,而不仅仅是更改值。使用Javascript
- 禁用html按钮
document.getElementById("Button").disabled = true;
document.getElementById("Button").disabled = false;
$('#Button').attr('disabled','disabled');
$('#Button').removeAttr('disabled');
$('#Button').prop('disabled', true);
$('#Button').prop('disabled', false);
- 启用html按钮
document.getElementById("Button").disabled = true;
document.getElementById("Button").disabled = false;
$('#Button').attr('disabled','disabled');
$('#Button').removeAttr('disabled');
$('#Button').prop('disabled', true);
$('#Button').prop('disabled', false);
使用jQuery jQuery 1.6之前的所有版本
- 禁用html按钮
document.getElementById("Button").disabled = true;
document.getElementById("Button").disabled = false;
$('#Button').attr('disabled','disabled');
$('#Button').removeAttr('disabled');
$('#Button').prop('disabled', true);
$('#Button').prop('disabled', false);
- 启用html按钮
document.getElementById("Button").disabled = true;
document.getElementById("Button").disabled = false;
$('#Button').attr('disabled','disabled');
$('#Button').removeAttr('disabled');
$('#Button').prop('disabled', true);
$('#Button').prop('disabled', false);
- 禁用html按钮
document.getElementById("Button").disabled = true;
document.getElementById("Button").disabled = false;
$('#Button').attr('disabled','disabled');
$('#Button').removeAttr('disabled');
$('#Button').prop('disabled', true);
$('#Button').prop('disabled', false);
- 启用html按钮
document.getElementById("Button").disabled = true;
document.getElementById("Button").disabled = false;
$('#Button').attr('disabled','disabled');
$('#Button').removeAttr('disabled');
$('#Button').prop('disabled', true);
$('#Button').prop('disabled', false);
p.S.根据更新了代码。作为建议,请始终使用最新的jquery文件和
prop()
方法。只需简单的JavaScript就可以轻松完成这项工作,无需库
启用按钮
document.getElementById("Button").disabled=false;
document.getElementById("Button").disabled=true;
$('#btn_id').button('disable');
$('#btn_id').button('enable');
禁用按钮
document.getElementById("Button").disabled=false;
document.getElementById("Button").disabled=true;
$('#btn_id').button('disable');
$('#btn_id').button('enable');
不需要外部库
$(".btncancel").button({ disabled: true });
这里的“btncancel”是按钮的类名。这肯定会起作用 禁用按钮
document.getElementById("Button").disabled=false;
document.getElementById("Button").disabled=true;
$('#btn_id').button('disable');
$('#btn_id').button('enable');
启用按钮
document.getElementById("Button").disabled=false;
document.getElementById("Button").disabled=true;
$('#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(){
Button.disabled=!Button.disabled;
}
切换禁用
函数禁用按钮(){
document.getElementById(“”).disabled=true;
}
window.onbeforeunload=禁用按钮;
虽然与问题没有直接关系,但如果您跳到这个问题上,希望禁用除典型输入元素按钮、输入、文本区域以外的其他元素,则语法将不起作用
要禁用div或span,请使用
附言:明白了,只有当你想禁用的时候才打这个电话。chrome版本83中的一个错误导致即使第二个参数为false,也会始终禁用该功能。使用JavaScript禁用/启用html输入按钮:
(并使用React进行反应。如果不使用React,则将“elementRef.current”替换为元素选择)
启用:
elementRef.current.removeAttribute('disabled');
你是什么意思?一旦你禁用它,你就不能用相同的方法重新启用它了Me()
我希望你知道(因为它被禁用了),我想做的是在某些事件发生时禁用并启用按钮。如果我想先启用按钮,然后再禁用按钮,那该怎么办;我还尝试了enable=“true”。启用是否为正确的关键字???@k.ken否,关键字为“禁用”。如果希望按钮最初启用,则根本不要将属性disabled
放入。只需使用
。当改变状态时,使用.prop(“disabled”,true)
(或false
)我需要那里的属性才能工作吗?比如disables=“disable”否,在$(文档)中。ready
您可以调用$('#Button').attr('disabled','disabled')代码>。这将禁用页面加载按钮。当某些事件发生时,您可以调用$(“#按钮”).removeAttr('disabled')
要再次启用它…如果禁用,如何添加灰色样式?@LeiYang您可以添加一些css,比如注意,true和false是布尔值,而不是字符串,正如palash正确写道的那样。值得怀疑的是,我惊讶的是,这在刚刚测试的Chrome、Edge、FF和Brave中确实有效。显然,这不是推荐的做法(请参阅:),因此我不太可能使用它,但这是一个有趣的发现。@KellyCode我同意您的看法,即使用元素ID的OP方法通常不好(可能适用于小型项目或可读代码缩短的代码段)