How many types of client scripts in servicenow?

tnjrameshbabu
Giga Contributor

Hi Family,

 

Can any one tell me how many types of client scripts in servicenow?

 

Regards,

Rameshbabu Lakshminarayanan

5 REPLIES 5

AndersBGS
Tera Patron

Hi @tnjrameshbabu 

 

AndersBGS_0-1784229980922.png

 

If my answer has helped with your question, please mark my answer as the accepted solution and give a thumbs up.

Best regards
Anders

Rising star 2024
MVP 2025
linkedIn: https://www.linkedin.com/in/andersskovbjerg/

Ehab Pilloor
Mega Sage

@tnjrameshbabu,

 

There are 4 types of client scripts: 

onLoad

onChange

onSubmit

onCellEdit

 

This post will help you more on client scripts:

https://www.servicenow.com/community/developer-articles/client-script/ta-p/2827916

 

Please Accept this response as Solution if it assisted you with your question & Mark this response as Helpful.

 

Kind Regards,

Ehab Pilloor

Tanushree Maiti
Tera Patron

Hi @tnjrameshbabu 

 

In ServiceNow, there are four main types of Client Scripts. Each type is triggered by a specific user action or browser-side event and is used to enhance the user experience on forms and lists.

  1. onLoad()

Trigger: Executes when a form finishes loading in the browser.

Common Use Cases:

  • Setting default field values.
  • Showing or hiding fields and sections.
  • Making fields read-only or mandatory based on conditions such as user roles.
  • Initializing form behavior when the record is opened.

 

  1. onChange()

Trigger: Executes when the value of a specified field changes.

Common Use Cases:

  • Auto-populating related fields.
  • Displaying validation messages or alerts.
  • Dynamically showing, hiding, enabling, or disabling fields based on user selections.
  • Performing client-side validation.

Note: The isLoading parameter is commonly used to prevent the script from running while the form is still loading.

 

  1. onSubmit()

Trigger: Executes when a user attempts to save, submit, or update a form.

Common Use Cases:

  • Performing final validation checks before data is sent to the server.
  • Ensuring required business conditions are met.
  • Displaying confirmation messages or preventing invalid submissions.

Note: Returning false from an onSubmit Client Script prevents the form from being submitted.

 

  1. onCellEdit()

Trigger: Executes when a user edits a field directly within a list view using inline editing.

Common Use Cases:

  • Validating changes made from a list.
  • Enforcing data integrity rules during inline edits.
  • Controlling or restricting bulk updates.

Note: This script type uses parameters such as sysIDs, table, oldValues, newValue, and a callback function to validate and approve or reject the change.

 

Please Accept the solution if it assisted you with your question & Mark this response as Helpful.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti

Tanushree Maiti
Tera Patron

Hi @tnjrameshbabu 

 

Here All 4 client scripts with sample code as a example.

 

  1. Onload ()

Common Use Cases: Setting default field values, hiding or showing fields on load, or making fields read-only based on roles.

Code Example:

function onLoad() {

    if (g_form.isNewRecord()) {

                g_form.setValue('impact', '3');

               g_form.addInfoMessage('Welcome! Please fill out all necessary field details.');

    }

}

 

  1. onChange()

Common Use Cases: Making a field mandatory based on another choice, showing a section, or validating input format.

Code Example:

function onChange(control, oldValue, newValue, isLoading, isTemplate) {

    if (isLoading || newValue === '') {

        return;

    }

    if (newValue == 'hardware') {

        g_form.setMandatory('u_serial_number', true);

        g_form.showFieldMsg('u_serial_number', 'Serial number is strictly required for hardware items.', 'info');

    } else {

        g_form.setMandatory('u_serial_number', false);

    }

}

 

3.onSubmit()

  • Common Use Cases: Final multi-field form validations or preventing submissions when formatting or security constraints are broken.

Code Example:

function onSubmit() {

    var shortDesc = g_form.getValue('short_description');

        if (shortDesc.length < 10) {

        g_form.addErrorMessage('Submission aborted: The short description must be at least 10 characters long.');       

        return false;

    }   

    return true;

}

  1. onCellEdit()
  • Common Use Cases: Restricting mass inline updates, validating list changes, or locking down specific columns based on user status.

Code Example:

function onCellEdit(sysIDs, table, oldValues, newValue, callback) {

    var saveAndClose = true;

    if (newValue == '7') {

         alert('Security Notice: Records cannot be Closed directly via the list view view. Please open the form.');

        saveAndClose = false;

    }

    callback(saveAndClose);

}

Please Accept the solution if it assisted you with your question & Mark this response as Helpful.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti