Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The script does the following:

  1. 2 buttons which are Set Readonly and Remove Readonly are added.
  2. It directly sets or removes the readonly attribute on all input fields and selects when the corresponding button is clicked.
  3. It uses localStorage to store the readonly state, so even if the page is refreshed, the readonly state will persist until removed.
  4. It initializes the readonly state based on the localStorage value when the page loads.
Code Block
<div class="btn btn-primary" id="readOnlyButton">Set Readonly</div>
<div class="btn btn-secondary" id="removeReadOnlyButton">Remove Readonly</div>
<script>
    $(document).ready(function(){
        // Function to set input fields readonly
        function setInputFieldsReadonly() {
            $("input").prop('readonly', true);
            $("input").prop('disabled', true);
            $("select").prop('disabled', true);
            $(".formgrid, .spreadsheet").addClass("readonly");
        }

        // Function to remove readonly attribute from input fields
        function removeInputFieldsReadonly() {
            $("input").prop('readonly', false);
            $("input").prop('disabled', false);
            $("select").prop('disabled', false);
            $(".formgrid, .spreadsheet").removeClass("readonly");
        }

        // Button click event to set input fields readonly
        $("#readOnlyButton").click(function(){
            setInputFieldsReadonly();
            localStorage.setItem('readonly', 'true');
        });

        // Button click event to remove readonly attribute from input fields
        $("#removeReadOnlyButton").click(function(){
            removeInputFieldsReadonly();
            localStorage.removeItem('readonly');
        });

        // Check if readonly state is stored in local storage
        if(localStorage.getItem('readonly') === 'true') {
            setInputFieldsReadonly();
        }
    });
</script>

...

Figure 2: Remove Readonly

Sample App

View file
nameAPPapp_kb_dx8_set_read_onlysetReadOnlySample.jwa
height250