developers

    Forum Stats

  • 3,873,762 Users
  • 2,266,638 Discussions
  • 7,911,626 Comments

Discussions

How do you make a Checkbox readonly?

Glenda Hasley
Glenda Hasley Member Posts: 13 Blue Ribbon

We are on APEX 21.2

On the Form page shown below, the Assignee Completed field is a Checkbox field. The Checked Value is Y and the Unchecked Value is N.

The Maintains Session State is ‘Pay Session (Disk)’

When the user changes the Assignee Completed Field from N to Y, a dynamic action is triggered.

This dynamic action triggers an alert and several Set Values to set the values in the yellow highlighted fields (see below) and Execute JavaScript Codes to make those fields and the Assignee Complete checkbox to readonly.


The Execute JavaScript Code (highlighted above in green) contains the following.

All the true actions in this dynamic action work, except for this one.

How do I make the Assignee Completed field readonly after changing the assignee complete from N to Y?




 




 

Answers

  • Hamza Al-abbasi
    Hamza Al-abbasi Member Posts: 781 Bronze Crown

    Hello Glenda Hasley,

    Disable action will make the checkbox is read only, but this lead to checkbox value will not store in the session, so you will need to do some walkaround such as creating temp item to hold the value.

  • Alvaro_m
    Alvaro_m Member Posts: 11 Green Ribbon

    There is one option, instead of a javascript action, u can trigger a disabled action.

    On this point u can trigger a backend action as well to save the new status on 'Y'. Then, next time u reload the page u have new status.

    You should also have a check when load the page, that in case the value is 'Y' u disabled that item.

    As Hamza said, in javascript item, the value is disabled

    apex.items.get(XXXX).disable = true

  • fac586
    fac586 Senior Technical Architect Member Posts: 21,447 Red Diamond

    Please update your community profile with a recognisable username instead of "User_VH688".

    There is one option, instead of a javascript action, u can trigger a disabled action.

    On this point u can trigger a backend action as well to save the new status on 'Y'. Then, next time u reload the page u have new status.

    You should also have a check when load the page, that in case the value is 'Y' u disabled that item.

    "u"? This is a community of professionals and professional standards of discourse are expected. Posts should use language appropriate to a commercial email, not casual texting between 12 year olds. Additionally, most of the community are not native English speakers. Colloquialisms and slang are therefore best avoided to eliminate confusion.

  • fac586
    fac586 Senior Technical Architect Member Posts: 21,447 Red Diamond
    edited May 10, 2022 10:25AM

    This dynamic action triggers an alert and several Set Values to set the values in the yellow highlighted fields (see below) and Execute JavaScript Codes to make those fields and the Assignee Complete checkbox to readonly.

    Per the HTML specification checkbox controls do not support the readonly attribute/property, therefore this is unworkable.

    Disable action will make the checkbox is read only, but this lead to checkbox value will not store in the session, so you will need to do some walkaround such as creating temp item to hold the value.

    Both approaches make it impossible to undo the action if it has been performed in error. In UI/UX terms this is an inappropriate use of a checkbox as it violates the "not actionable" convention.

    A better alternative would be to use Mark Complete/Mark Incomplete action buttons, shown and hidden depending on the record state, and trigger the required dynamic actions from these.

    Hamza Al-abbasi
  • Hamza Al-abbasi
    Hamza Al-abbasi Member Posts: 781 Bronze Crown

    Both approaches make it impossible to undo the action if it has been performed in error. In UI/UX terms this is an inappropriate use of a checkbox as it violates the "not actionable" convention.


    A better alternative would be to use Mark Complete/Mark Incomplete action buttons, shown and hidden depending on the record state, and trigger the required dynamic actions from these.

    This is correct and convincing answer for some of these requirements. Thank you for clarifying this.

developers