簡體   English   中英

禁用和啟用 html 輸入按鈕

[英]Disabling and enabling a html input button

所以我有一個這樣的按鈕:

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

如何在需要時禁用和啟用它? 我試過disabled="disable"但重新啟用它是一個問題。 我嘗試將其設置回 false 但這並沒有啟用它。

使用 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');
  • 演示在這里

jQuery 1.6 之后的所有版本

  • 禁用 html 按鈕

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

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

PS 根據jquery 1.6.1 的變化更新了代碼。 建議始終使用最新的 jquery 文件和prop()方法。

由於您首先要禁用它,因此啟用它的方法是將其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 即可輕松完成此操作,無需任何庫。

啟用按鈕

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

禁用按鈕

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

不需要外部庫。

disable 屬性只有一個參數。 如果您想重新啟用它,您必須刪除整個內容,而不僅僅是更改值。

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

這里的 'btncancel' 是按鈕的類名。

沒有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以外的其他內容,則語法將不起作用。

要禁用 div 或 span,請使用setAttribute

document.querySelector('#somedivorspan').setAttribute('disabled', true);

PS:請注意,只有在您打算禁用時才調用它。 chrome 版本 83 中的一個錯誤導致即使第二個參數為 false 也始終禁用。

使用 JavaScript 禁用/啟用 html 輸入按鈕:

(並與 refs 反應。如果不使用 React,則將“elementRef.current”替換為元素選擇)

 elementRef.current.setAttribute('disabled', 'disabled');

使能夠:

 elementRef.current.removeAttribute('disabled');

這肯定會奏效。

禁用按鈕

$('#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;
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM