Categories:
  1. ServiceNow Application Developer
  2. ServiceNow Scripting Objects
  3. ServiceNow Scripting API
  4. GlideRecord – Create, Read
  5. GlideRecord – Update & Delete
  6. Popular ServiceNow API Methods
  7. UI Action – Server Side & Client Side
  8. UI Policy
  9. Client Script – OnLoad
  10. Client Script – OnChange
  11. Client Script – onSubmit
  12. Scripting Best Practices
  13. Client Script Best Practice
  14. Client Script Requirement
  15. Business Rule Requirments
  16. Inbound Action
  17. Requirement Sheet
  18. Only Admin should be able to see Resolution Information tab
  19. From P3 & P4 user can’t derectly set to P1 but from P2 they can set P1
  20. Directly P1 Incident can’t be created
  21. Child Incident should close once parent Problem close
  22. Populate list type of fields in servicenow in Incident Form
  23. For Critical Priority, font will be bold and background will be red
  24. Create a field on Incident form called Expected Data, if incident move to Pending this date will be add 7 days from current date

onChange Client Scripts execute script logic when a particular field’s value changes. Use onChange Client Scripts to respond to field values of interest and to modify another field’s value or attributes. For example, if the State field’s value changes to Closed Complete, generate an alert and make the Description field mandatory.

Requirement: If state is in progress show CI field visible and mandatory & if state is onHold Service field visible and mandatory.

OnLoad & OnChange Client Script:

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        var s = g_form.getValue('state');
        if (s == 2) {
            g_form.setDisplay('cmdb_ci', true);
            g_form.setDisplay('business_service', false);
            g_form.setMandatory('cmdb_ci', true);
        } else if (s == 3) {
            g_form.setDisplay('cmdb_ci', false);
            g_form.setDisplay('business_service', true);
            g_form.setMandatory('business_service', true);
        }
        return;
    }

    //Type appropriate comment here, and begin script below
    var s = newValue;
    if (s == 2) {
        g_form.setDisplay('cmdb_ci', true);
        g_form.setDisplay('business_service', false);
        g_form.setMandatory('cmdb_ci', true);
        g_form.setMandatory('business_service', false);
    } else if (s == 3) {
        g_form.setDisplay('cmdb_ci', false);
        g_form.setDisplay('business_service', true);
        g_form.setMandatory('business_service', true);
        g_form.setMandatory('cmdb_ci', false);
    }
}

OnLoad & OnChange Client Script should work together & after the code optimization

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (newValue === '') {

        return;
    }

    //Type appropriate comment here, and begin script below
    var s = newValue;
    if (s == 2) {
        g_form.setDisplay('cmdb_ci', true);
        g_form.setDisplay('business_service', false);
        g_form.setMandatory('cmdb_ci', true);
        g_form.setMandatory('business_service', false);
    } else if (s == 3) {
        g_form.setDisplay('cmdb_ci', false);
        g_form.setDisplay('business_service', true);
        g_form.setMandatory('business_service', true);
        g_form.setMandatory('cmdb_ci', false);
    }
}

Total Views: 1228

No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *