HTML - readonly Attribute



HTML readonly attribute is used to specify that an input, or textarea field, is only readable and user cannot modify it.

If an input or textarea field is a read-only field, it means that the user cannot change or modify the control, however, the user can highlight it and copy the text from the field.

The readonly attribute used to restrict users from altering a field's value until certain conditions are fulfilled, such as selecting a checkbox. Subsequently, JavaScript can remove the readonly attribute, enabling users to edit the input field.

Syntax

<tag readonly></tag>

Applies On

Below listed elements allow using of the HTML readonly attribute

Element Description
<input> HTML <input> tag is used accpect various types of input from user.
<textarea> HTML <textarea> tag is used to represent a multiline plain-text editing control.

Examples of HTML readonly Attribute

Below examples will illustrate the HTML poster attribute, where and how we should use this attribute!

Readonly attribute for input tag

In the following example, we are using the HTML 'readonly' attribute within an input(type =’text’) element to make the field not mutable so that the user can not edit it.

<!DOCTYPE html>
<html lang="en">

<head>
   <title>HTML readonly attribute</title>
</head>

<body>
   <p>HTML 'readonly' attribute</p>
   <form>
      <label>Name</label>
      <input type="text" 
             value="ABC" 
             readonly>
   </form>
</body>

</html>

Readonly Attribute for textarea Tag

Considering the another scenario, where we are going to use the readonly attribute with the textarea element.

<!DOCTYPE html>
<html lang="en">

<head>
   <title>HTML readonly attribute</title>
</head>

<body>
   <p>HTML 'readonly' attribute</p>
   <form>
      <label>Feedback</label>
      <br>
      <textarea cols="40" 
                rows="10" 
                readonly>
      </textarea>
   </form>
</body>

</html>

Running script to remove readonly Attribute

Following is the example, where we are using the HTML 'readonly' property (attribute) with JavaScript to set/remove the 'readonly' property from the input field, and we use a separate JavaScript function for set and remove the property.

<!DOCTYPE html>
<html lang="en">

<head>
<title>Readonly Attribute Example</title>
<script>
   function enableInput() {
      var checkbox = document.getElementById("checkbox");
      var inputField = document.getElementById("input");

      if (checkbox.checked) {
            inputField.removeAttribute("readonly");
      } else {
            inputField.setAttribute("readonly", true);
      }
   }
</script>
</head>

<body>
   Enable Input Field:
   <input type="checkbox" 
            id="checkbox" 
            onchange="enableInput()">
   <br><br>
   Input:
   <input type="text" 
            id="input" 
            placeholder="Name" 
            readonly>
</body>

</html>

Supported Browsers

Attribute Chrome Edge Firefox Safari Opera
readonly Yes Yes Yes Yes Yes
html_attributes_reference.htm
Advertisements