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

Harshit Jindal 2023年10月12日
  1. 使用 JavaScript 啟用/禁用輸入按鈕
  2. 使用 jQuery 啟用/禁用輸入按鈕
使用 JavaScript 啟用/禁用輸入按鈕

本教程講授如何使用 JavaScript/JQuery 啟用/禁用 HTML 輸入按鈕。

我們經常遇到想要啟用/禁用 HTML 按鈕的情況,例如在提交表單之前和之後。最好的方法是使用 JavaScript DOM 操作來選擇按鈕,並將其 disabled 狀態更改為 true/false,以切換其 on/off 狀態。在下面,我們將看到兩種禁用/啟用按鈕的方法,一種使用 JavaScript,另一種使用 JQuery。

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

下面是一個按鈕的演示,當在框中輸入文字時,按鈕會被啟用,否則會被禁用。

HTML 程式碼

<input class="input" type="text" placeholder="fill me">
<button class="button">Click Me</button>

JavaScript 程式碼

let input = document.querySelector('.input');
let button = document.querySelector('.button');
button.disabled = true;
input.addEventListener('change', stateHandle);
function stateHandle() {
  if (document.querySelector('.input').value === '') {
    button.disabled = true;
  } else {
    button.disabled = false;
  }
}

禁用按鈕 javascript

在這裡,我們首先將對輸入和按鈕的引用儲存在兩個變數中,然後將按鈕的預設狀態設定為禁用。我們新增了一個事件偵聽器,以檢視文字框內是否有任何輸入活動,然後使用 stateHandle() 函式相應地禁用/啟用提交按鈕。

使用 jQuery 啟用/禁用輸入按鈕

<html>
<head>
    <title>Enable/Disable a HTML button</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>

<body>
      Name: <input type="text" id="reco" />
    <input type="submit" id="submit" disabled="disabled" />
</body>

<script>
    $(document).ready(function () {
        $('#reco').on('input change', function () {
            if ($(this).val() != '') {
                $('#submit').prop('disabled', false);
            }
            else {
                $('#submit').prop('disabled', true);
            }
        });
    });
</script>
</html>

我們使用 ready() 函式使其在文件載入完畢後可用。然後,.on() 方法將事件處理程式附加到輸入欄位。change 事件將檢查輸入欄位中的更改並相應地執行該函式。然後,.prop() 方法將更改按鈕的狀態。

作者: Harshit Jindal
Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

相關文章 - JavaScript DOM