How to remove “disabled” attribute from HTML input element using JavaScript?


In HTML, we can use input elements to take input from the users by creating a form or in any other way. There are different types of input elements, such as checkboxes, radio buttons, text, numbers, etc.

We can use the ‘disabled’ property with every element to disable the input field and stop users from interacting with the input element. In some cases, we require to add and remove the disabled attribute using JavaScript. For example, we want to take the pan card numbers of the users whose age is greater than 18. So, we require to enable the pan card input field only if the user enters an age greater than 18 by removing the disabled property from JavaScript.

Here, we will learn various approaches to remove the disabled attribute from the HTML input element using JavaScript.

Using the removeAttribute() method

In the first approach, we will use the removeAttribute() method to remove the disabled attribute. It is used to remove any attribute from HTML element which we pass as a parameter of the method.

Syntax

Users can follow the syntax below to use the removeAttribute() method to remove the ‘disabled’ attribute from the input element.

element.removeAttribute("disabled");

In the above syntax, we passed the attribute name, which is ‘disabled’, as a parameter of the method.

Example

In the example below, we have defined the text input field in the HTML part. Whenever users click the button, it calls the removeDisabled() function.

In the remvoeDisabled() function, we access the input element by its id. After that, we execute the removeAttribute() method by taking the input element as a reference and passing ‘disabled’ as a parameter.

In the output, users can observe that they can’t interact with the input element before clicking the button, but they can after clicking the button.

<html>
<body>
    <h3> Using the <i> removeAttribute() </i> method to remove disabled attribute from HTML input element </h3>
    <input type = "text" name = "first name" id = "name" value = "Shubham" disabled>
    <button onclick = "removeDisabled()"> Remove Disabled </button>
    <script>
        function removeDisabled() {
            let name = document.getElementById("name");
            name.removeAttribute("disabled");
        }
    </script>
</html>

Modifying the ‘disabled’ property

In this approach, we will modify the value of the ‘disabled’ property rather than removing the disabled property from an HTML element. The ‘disabled’ property takes the boolean value. The default value for the disabled property is ‘true’, but we can set it to ‘false’, and it will work the same as we remove the ‘disabled’ property from any input element.

Syntax

Users can follow the syntax below to modify the value of the disabled property to false.

input.disabled = false;

Example 1

In the example below, we created multiple text input elements, all disabled by default. In JavaScript, we access all input elements and use the forEach() method to make iterations through the node list of the input. Inside the forEach() method, we modify the value of the disabled property of each input to false.

In the output, users can observe that all input elements are intractable after clicking the button.

<html>
<body>
    <h3> setting the <i> disable property value </i> to remove disabled attribute from HTML input element  </h3>
    <!-- creating multiple text inputs -->
    <input type = "text" id = "myText" value = "Hello World!" disabled> <br> <br>
    <input type = "text" id = "second" value = "How are you?" disabled>
    <button onclick = "removeDisabled()"> Remove Disabled </button>
    <script>
        function removeDisabled() {
            let textsInput = document.querySelectorAll("input[type='text']");
            textsInput.forEach((input) => {
                input.disabled = false;
            });
        }
    </script>
</html>

Example 2

In the example below, we created multiple checkbox inputs and added disabled attributes to all checkboxes to disable them. In the removeDisable() function, we access all checkboxes and modify the ‘disabled’ property of each checkbox.

<html>
<body>
    <h3> Setting the <i> disable property value </i> to remove disabled attribute from HTML input element.</h3>
    <!-- creating multiple checkboxes -->
    <input type = "checkbox" value = "male" disabled> male
    <input type = "checkbox" value = "female" disabled> female
    <input type = "checkbox" value = "other" disabled> Other
    <button onclick = "removeDisabled()"> Remove Disabled </button>
    <script>
        function removeDisabled() {
            let checkboxes = document.querySelectorAll('input[type="checkbox"]');
            for (let i = 0; i < checkboxes.length; i++) {
                checkboxes[i].disabled = false;
            }
        }
    </script>
</html>

We learned to remove the disabled property from the input elements using JavaScript. In the first approach, we used the removeAttribute() method, which removes the disabled property from an input element. In the second element, we modify the value of the disabled property rather than removing it from the HTML element, but we are able to achieve our goal of enabling the input element.

Updated on: 17-May-2023

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements