禁用和启用html输入按钮

时间:2012-12-12 01:57:15

标签: javascript jquery

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

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

如何在需要时禁用和启用它?我尝试了disabled="disable",但启用它是一个问题。我尝试将其设置为false,但是没有启用它。

11 个答案:

答案 0 :(得分:342)

使用Javascript

  • 禁用html按钮

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

    document.getElementById("Button").disabled = false;
    
  • Demo Here


使用jQuery

1.6之前的所有jQuery版本

  • 禁用html按钮

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

    $('#Button').removeAttr('disabled');
    
  • Demo Here

1.6之后的所有jQuery版本

  • 禁用html按钮

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

    $('#Button').prop('disabled', false);
    
  • Demo Here

<强> 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;
}
?>