禁用和启用html输入按钮


250

所以我有一个像这样的按钮:

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

我要如何禁用和启用它?我已经尝试过,disabled="disable"但是将其重新启用是一个问题。我尝试将其设置回false,但这并没有启用它。


您是什么意思将其重新启用?禁用它后,您将无法通过Me()我希望您知道的相同方法重新启用它(因为已禁用)
cjds 2012年

2
我要执行的操作是在发生某些事件时禁用并启用按钮。
k.ken 2012年

Answers:


461

使用JavaScript

  • 禁用HTML按钮

    document.getElementById("Button").disabled = true;
  • 启用html按钮

    document.getElementById("Button").disabled = false;
  • 在这里演示


使用jQuery

jQuery 1.6之前的所有版本

  • 禁用HTML按钮

    $('#Button').attr('disabled','disabled');
  • 启用html按钮

    $('#Button').removeAttr('disabled');
  • 在这里演示

1.6之后的所有版本的jQuery

  • 禁用HTML按钮

    $('#Button').prop('disabled', true);
  • 启用html按钮

    $('#Button').prop('disabled', false);
  • 在这里演示

PS更新了基于jquery 1.6.1更改的代码。作为建议,请始终使用最新的jquery文件和prop()方法。


我需要那里的属性才能正常工作吗?像
disables

不,$(document).ready您可以在内部致电$('#Button').attr('disabled','disabled');。这将禁用页面加载按钮。而当某些事件发生,你可以打电话$('#Button').removeAttr('disabled');再次启用它...
palaѕн

如果禁用,如何添加灰色样式?
雷杨

1
@LeiYang您可以添加一些CSS像这样
palaѕн

只需注意真假是布尔,不是字符串,如palash正确地写道
马可

24

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

disabled在Javascript中更改其属性,请使用以下命令:

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="" />

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


如果我希望按钮先被启用然后又被禁用怎么办?我也尝试过enable =“ true”。启用正确的关键字吗?
k.ken 2012年

2
@ k.ken否,关键字为“ disabled”。如果您希望最初启用按钮,则根本不要放入该属性disabled。只需使用<input type="button" value="Submit" />。在更改状态时,请使用.prop("disabled", true);(或false
Ian

10

您可以使用简单的JavaScript轻松完成此操作,而无需任何库。

启用按钮

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

禁用按钮

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

无需外部库。



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

这里的“ btncancel”是按钮的类名。


0

没有jQuery禁用输入将更简单

Button.disabled=1;


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

-2

这肯定会起作用。

禁用按钮

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

启用按钮

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

-6

坚持使用PHP ...

为什么不仅要满足上述条件,就让按钮出现。

<?
if (whatever == something) {
    $display = '<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>';
    return $display;
}
?>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.