Hide multiple fields based on custom field value

Problem

Some fields are needed on the screen only when another field has a certain value. Keeping the fields visible on the screen when they are not needed creates clutter and may cause users to enter information in the wrong place.

Solution

You can solve this problem using Power Scripts™ Live Fields. The scripts will get the value of a customized and based on that value it will conditionally show or hide other fields.

liveField.sil

This is the main script that will be used in the Live Fields configuration. This script will call the second script, hook.sil.

lfInstantHook({"customfield_XXXXX"}, "hook.sil"); lfWatch("customfield_XXXXX", {"customfield_XXXXX"}, "hook.sil");

hook.sil

This script is not used in the configuration but instead is triggered by the main script.

if(argv["customfield_xxxx"] == "ABC") { lfHide("customfield_1111"); lfHide("customfield_2222"); lfHide("customfield_3333"); } else { lfShow("customfield_1111"); lfShow("customfield_2222"); lfShow("customfield_3333"); } if(argv["customfield_xxxx"] == "XYZ") { lfHide("customfield_4444"); lfHide("customfield_5555"); lfHide("customfield_6666"); } else { lfShow("customfield_4444"); lfShow("customfield_5555"); lfShow("customfield_6666"); }

Important Information

  • Other custom fields can be added inside the logic statements as needed

  • Multiple “trigger” fields can be used to create the conditions that show or hide other custom fields

  • This script does not hide any custom fields by default. However, this can easily be added by copying the lfShow() routines and pasting them at the top of the script.