This class provides methods for forms configurations. These methods can only be used on the client side.

You can also use these methods to configure the dependencies between the fields and the values, for example, changing the values of the fields or clearing the fields. 

SimpleForm(table, sys_id)


Use this constructor to instantiate a new SimpleForm object.

Parameters:

NameTypeMandatoryDefault value
tableStringYN
sys_idStringYN

Return:

TypeDescription
ObjectThis method returns a form object.

Example:

SimpleForm()
window.s_widget_custom.submit = async function () {
  await s_widget.serverUpdate();
  const tableName = s_widget.getFieldValue('table_name');
  const recordId = s_widget.getFieldValue('record_id');

  const builtInForm = new SimpleForm(tableName, recordId);
  
  await builtInForm.save().then(s_form.save());
  s_modal.setShow(false);
  s_go.reloadWindow();
}

modalForm()


Use this object of the SimpleForm class to interact with the modal window of the opened record from the client script of the form. The form is available by using the <Form> tag in the modal window widget.

Access the object using s_form.modalForm.

Returns:

TypeDescription
ObjectThis method returns the form object.

Example:

modalForm
s_form.modalForm.setValue('state', '2')

Global variable usage


Within any record form, you can use predefined global variables.

Variable

Description

currentFieldLabel

Defines a link to a Wrapper object for a field. The variable is used with the getColumnId() method.
See the example: 

window.currentFieldLabel.getColumnId()

One of the usage cases of this variable is the field context menu call. 

currentUiAction

Contains an object with an ID of the UI action record. It is used when the context menu is called.

s_form.addErrorMessage(message)


Use this method to display an error toast message in the lower right corner.

Parameter:

NameTypeMandatoryDefault value
messageStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

addErrorMessage()
s_form.addErrorMessage('Please enter a valid email address using the following format: joe@example.com');

s_form.addInfoMessage(message, durationMilliseconds)


Use this method to display an informational toast message in the lower right corner. The message disappears after a certain period of time. In the durationMilliseconds parameter, specify this period in milliseconds.

Parameters:

NameTypeMandatoryDefault value
messageStringYN
durationMillisecondsNumberNN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

addInfoMessage()
s_form.addInfoMessage('Link copied to clipboard', 2000);

s_form.addSuccessMessage(message, durationMilliseconds)


Use this method to display a message about a successul action in the lower right corner. The message disappears after a certain period of time. Specify this period in milliseconds in the durationMilliseconds parameter.

Parameter(s):

NameTypeMandatoryDefault value
messageStringYN
durationMillisecondsNumberNN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

addSuccessMessage()
s_form.addSuccessMessage('Record was successfully added!', 3000);

s_form.addWarningMessage(message, durationMilliseconds)


Use this method to display a warning message in the lower right corner. The message disappears after a certain period of time. Specify this period in milliseconds in the durationMilliseconds parameter.

Parameters:

NameTypeMandatoryDefault value
messageStringYN
durationMillisecondsNumber N N

Return:

TypeDescription
VoidThis method does not return a value.

Example:

addWarningMessage()
s_form.addWarningMessage('This record has been modified by another user', 3000);

s_form.addOption(fieldName, choiceValue)


Use this method to add a choice option to the end of the choice field. A user can add a choiceValue values defined for fieldName into the current set of the table options.

This method is asynchronous; for better performance, use the await keyword as shown in the code example below.

Parameters:

NameTypeMandatoryDefault value
fieldNameStringYN
choiceValueStringYN

Return:

TypeDescription
ObjectThis method returns a Promise object.

Example:

addOption()
const choices = ['10', '20', '30'];
s_form.clearOptions('contact_type');
for (const optionValue of choices) {
    await s_form.addOption('contact_type', optionValue);
}

s_form.clearMessages()


Use this method to close all kinds of messages (both informational and error) in the form.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

clearMessages()
s_i18n.getMessage('End date time cannot be less than start date time', (response) => {
  s_form.clearMessages();
  s_form.addErrorMessage(response);
});

s_form.clearOptions(fieldName)


Use this method to remove all options from the choice list.

Parameter:

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

clearOptions()
const choices = ['10', '20', '30'];
s_form.clearOptions('contact_type');
for (const optionValue of choices) {
    await s_form.addOption('contact_type', optionValue);
}

s_form.clearValue(fieldName) 


Use this method to clear out any field, that is delete its value.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
Boolean

This method returns false if it is unable to clear the value of the field in the following cases:

  • if the column_type is either True/False or Record Class.
  • if the column_name is equal to sys_id.
  • if the column_type is Choice and it does not have a default value.

Otherwise, the method returns true.

Example:

clearValue()
if (!s_form.getValue('sprint')) {
  s_form.clearValue('points');
}

s_form.isFieldChanged(fieldName)


Use this method to verify whether the specified field has been changed.

If there is a client script changing the specified field is running on the form, this method returns true. Both a user and a script can initiate the changes.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
Boolean

This method returns true if the specified field has been changed; otherwise, it returns false.

Example:

s_form.isFieldChanged
if (s_form.isFieldChanged('state') && s_form.getValue('state') != 'new') {
  return false; // abort form submit
}

s_form.formId


Use this class property to return the current form ID. The form view ID is an ID of the record in the UI Forms (sys_ui_form) table.

Return:

Type

Description

StringThis method returns the record ID of the form view in the UI Forms (sys_ui_form) table.

Example:

formId
const url = new URL(`${API_BASE_URL}/export/excel`);
if (typeof s_form !== "undefined") {
  url.searchParams.set('form_id', s_form.formId);
}
window.open(url, "_blank");

s_form.getAllFields()


Use this method to get a list of fields with their values placed on the form.

The return value contains two keys:

  • the data key is an object, where the keys are the system field names, and the values are the values of those fields.
  • the error key is an array with error messages if the form is saved in the current state.

Parameter:

NameTypeMandatoryDefault value
isAll BooleanN false

Return:

Type

Description

Object

When the isAll parameter is set to false, this method returns the info about the fields, where the values have been changed.

When the value is set to true, the method returns the information about the fields on the form from all the sections, including the ones hidden by client scripts.

On the new record form, the method returns a list of all form fields regardless of the isAll value.

Example:

getAllFields()
if (!s_form.getAllFields(true).data.hasOwnProperty('state')) return;

s_form.getChanges()


Use this method to retrieve information about the changed fields: field name, previous value, current value.

If there is a client script changing some fields is running on this form, the getChanges() method includes such fields in the array. Both a user and a script can initiate the changes.

Return:

TypeDescription
Array of Objects

This method returns an array of objects with the fields changes. Each object contains a field name, its previous and current values.

Example:
s_form.getChanges
if (s_form.isChanged()) {
  const changedFields = s_form.getChanges();
  let payload = {};
  changedFields.forEach((field) => {
    payload[field.fieldName] = field.currentValue;
  });
  SimpleStorage.setItem('payload', payload);
}

s_form.getLabelOf(fieldName)


Use this method to return a label text value.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
StringThis method returns a string that contains a displayed field name.

Example:

getLabelOf
const FIELD_LABEL = s_form.getLabelOf('username');
s_form.addErrorMessage(`Field "${FIELD_LABEL}" contains invalid characters.`);

s_form.getREMDisplayValue(fieldName)


Use this method to get a displayable REM attribute value.

Find the values represented in the client scripts according to the field types in the table.

Parameter:

Name

Type

Mandatory

Default value

fieldNameStringYN

Return:

Type

Description

StringThis method returns a value of the displayable attribute.

Example:

getREMDisplayValue
s_form.addErrorMessage(`Service "${s_form.getREMDisplayValue('service')}" is not available`);

s_form.getREMLabelOf(fieldName)


Use this method to get a label text value of a REM attribute.

Parameter(s):

Name

Type

Mandatory

Default value

fieldNameStringYN

Return:

Type

Description

StringThis method returns a string that contains an attribute label value.

Example:

getREMLabelOf
const FIELD_LABEL = s_form.getREMLabelOf('phone');
s_form.addErrorMessage(`Field "${FIELD_LABEL}" contains invalid characters.`);

s_form.getREMValue(fieldName)


Use this method to get a REM attribute value.

Find the values represented in the client scripts according to the field types in the table.

Parameter:

Name

Type

Mandatory

Default value

fieldNameStringYN

Return:

Type

Description

StringThis method returns the database value of the specified field.

Example:

getREMValue
if (s_form.getREMValue('model')) {
  s_form.hideFieldMsg('model');
}

s_form.getSections()


Use this method to get an array of sections.

Return:

TypeDescription
Array of HTML elementsThis method returns an array that conatains sections of a form.

Example:

getSections()
const sectionNames = s_form.getSections().map(section => section.name);
if (sectionNames.length) {
    s_form.addInfoMessage(`You can move between ${sectionNames.join(', ')}` sections);
}

s_form.getSectionNames()


Use this method return an array that contains the names of all sections, visible and hidden.

Return:

TypeDescription
Array of StringsThis method returns an array that contains section names.

Example:

getSectionNames()
const sectionNames = s_form.getSectionNames()
if (sectionNames.length) {
    s_form.addInfoMessage(`You can move between ${sectionNames.join(', ')}` sections);
}

s_form.getTableName()


Use this method to return a table name that the specified record relates to.

The method returns the system table name, not the table title. Example:

Table name itsm_incident
Table title Incidents

Return:

TypeDescription
StringThis method returns the system table name.

Example:

getTableName
const TABLE_NAME = s_form.getTableName();
console.log(TABLE_NAME);

s_form.getUniqueValue()


Use this method to return a unique record ID.

Return:

TypeDescription
StringThis method returns the record ID; otherwise, it returns null.

Example:

getUniqueValue
const TABLE_NAME = s_form.getTableName();
const RECORD_ID = s_form.getUniqueValue();
const currentRecord = new SimpleRecord(TABLE_NAME);
currentRecord.get(RECORD_ID, ()=> {
  if (currentRecord.sys_id === RECORD_ID) {
    s_form.addInfoMessage(currentRecord.sys_created_at);
  }
});

s_form.getValue(fieldName)


Use this method to return the database value of the specified field .

Find the values represented in the client scripts according to the field types in the table.

Parameter:

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
String

This method returns the database value of the specified field.

Example:

getValue
const callerId = s_form.getValue('caller_id');
if (!callerId) {
  const callerRecord = new SimpleRecord('employee');
  callerRecord.get(callerId, ()=> {
    if (callerRecord.sys_id &&
      callerRecord.personal_schedule) {
      await s_form.setValue('schedule', callerRecord.personal_schedule);
    } else {
      s_form.addInfoMessage('Users schedule is not defined');
    }
  });
}

s_form.getDisplayValue(fieldName)


Use this method to return the displayed value of the field.

Find the values represented in the client scripts according to the field types in the table.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
StringThis method returns the displayed value of the specified field.

Example:

getDisplayValue
s_form.addInfoMessage(`Service "${s_form.getDisplayValue('service')}" is not available`);

s_form.goBack()


Use this method to perform a redirection to the previous page. If it is not possible, the redirection leads to the list view of the current instance, for example, to a list of incidents from an incident record.

Return:

Type

Description

VoidThis method does not return a value.

Example:

goBack
if (s_form.isChanged()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}

s_form.isChanged()


Use this method to get information whether a record form has been changed.

Return:

Type

Description

BooleanThe method returns true if any changes have been made on the record form; otherwise, it returns false.

Example:

isChanged
if (s_form.isChanged()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}

s_form.hideFieldMsg(fieldName)


Use this method to hide informational or error messages in the specified form field.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

hideFieldMsg
if (s_form.getValue('state')) {
  s_form.hideFieldMsg('state');
}

s_form.hideRelatedLists()


Use this method to hide all related lists on the form.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

hideRelatedList
if (s_form.getValue('type') == 'internal') {
  s_form.hideRelatedLists();
}

s_form.isMandatory(fieldName)


Use this method to check if the specified field is mandatory.

Parameter:

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
BooleanThis method returns true if the field is mandatory; otherwise, it returns false.

Example:

s_form.isMandatory
if (s_form.isMandatory('state') && !s_form.getValue('state')) {
  s_form.addInfoMessage('State cannot be None');
}

s_form.hideRelatedList(relListTitle)


Use this method to specify a related list you need to hide.

Parameter:

NameTypeMandatoryDefault value
relListTitleStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

hideRelatedList
if (s_form.getValue('type') == 'external') {
  s_form.hideRelatedList('Customer');
}

s_form.isNewRecord()


Use this method to find out if the record is new.

Return:

TypeDescription
BooleanIf the record has never been saved, this method returns true; otherwise, it returns false.

Example:

isNewRecord
if (s_form.isNewRecord()) {
  await s_form.setValue('state', 'new');
  s_form.setReadOnly('state', true);
}

s_form.isReadonly(fieldName)


Use this method to verify whether a user can edit the specified field via the interface or the field is read-only.

Parameter:

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
BooleanThis method returns true if the field is read-only; otherwise, it returns false.

Example:

s_from.isReadonly
if (!s_form.isReadonly('state')) {
  await s_form.setValue('state', 'new');
}

s_form.isSectionVisible(sectionName)


Use this method to define if a specified section is visible or not.

Parameter:

NameTypeMandatoryDefault value
sectionNamestringYN

Return:

TypeDescription
BooleanThis method returns true if the section is visible; otherwise, it returns false.

Example:

getSectionNames
if (s_form.isSectionVisible('Instructions')) {
  s_form.addInfoMessage('Check out the "Instructions" section', 5000);
}

s_form.isValid()


Use this method to check if the specified form is valid or not.

Return:

TypeDescription
BooleanThis method returns true if the form is valid; otherwise, returns false.

It makes sense to use this method if the form contains the Date and Time columns, as the method does not support validation checks for the fields of other types.

Example:

s_form.isValid
if (!s_form.isValid()) {
  s_form.addErrorMessage('This form is invalid');
}

s_form.isVisible(fieldName)


Use this method to check if the specified field is visible or not.

Parameter:

NameTypeMandatoryDefault value
fieldNameStringYN

Return:

TypeDescription
BooleanThe method returns true if the field is visible; otherwise, it returns false.

Example:

s_form.isVisible
if (s_form.isVisible('state')) {
  s_form.setSectionDisplay('Controls', true);
}

s_form.refreshUiActions()


Use this method to reload all UI actions on the form and reverifies conditions to display a button that are defined for these UI actions without refreshing the page.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

s_form.refreshUiActions()
const stateValue = s_form.getValue('state');
if (stateValue == 'in-progress') {
    s_form.refreshUiActions();
}

s_form.removeOption(fieldName, choiceValue)


Use this method to specify and delete an option from the choice list.

Parameters:

NameTypeMandatoryDefault value
fieldNameStringYN
choiceValueStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

removeOption
const serviceId = s_form.getValue('service');
if (serviceId) {
  const service = new SimpleRecord('sys_cmdb_ci_service');
  service.get(serviceId, ()=> {
    if (service.business_criticality > '1') {
      s_form.removeOption('impact', 'low');
      s_form.removeOption('urgency', 'low');
    }
  });
}

s_form.save()


Use this method to save a record without leaving its form.

Return:

TypeDescription
StringThis method returns the ID of the saved record.

Example:

save()
const sysId = await s_form.save().finally(__resolveServerResponse);
await s_user.setPreference(preferenceApplicationName, packApplicationId);
await s_user.setPreference(preferenceLocalPackName, sysId);
await s_pref.refresh();

s_form.setLabelOf(fieldName, value)


Use this method to set a text value of the field label.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN
valueStringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

setLabelOf
if (s_form.getTableName() == "employee") {  
  s_form.setLabelOf("email", "Personal Email");
  s_form.setLabelOf("manager.email", "Manager's Email");
} else {
  s_form.setLabelOf("email", "Email");
}

s_form.setMandatory(fieldName, mandatory)


Use this method to change a specified field to a mandatory field, that is it cannot be null.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN
mandatoryBooleanNtrue

Return:

TypeDescription
Boolean

This method returns true if its execution has been successful.

It returns false in the following cases:

  • If a field is read-only and does not contain any value.
  • If a field is mandatory, it is impossible to clear the Mandatory checkbox with the s_form.setMandatory('some_field', false) method.

Example:

setMandatory
const scriptType = s_form.getValue('type');
const mandatoryColumn = ['onChange', 'onCellEdit'].includes(scriptType);
s_form.setVisible('column_id', mandatoryColumn);
s_form.setMandatory('column_id', mandatoryColumn);

s_form.setReadOnly(fieldName, readOnly)


Use this method to change a specified field to read-only or editable.

Parameter(s):

NameTypeMandatoryDefault value
fieldNameStringYN
readOnlyBooleanNtrue

Return:

TypeDescription
Boolean

This method returns true if its execution has been successful.

It returns false in the following cases:

  • If a field is read-only, it is impossible to clear the Read Only checkbox with the s_form.setReadOnly('some_field', false) method .
  • If editing a field is prohibited with ACL.
  • If a mandatory field is empty and read-only.

Example:

setReadOnly
if (s_form.getValue('any_tables')){
  s_form.setMandatory('table_id', false);
  s_form.setReadOnly('table_id', true);
  s_form.setVisible('table_id', false);
}

s_form.setREMLabelOf(fieldName, value)


Use this method to set a plain text value of a REM attribute label.

Parameter(s):

Name

Type

Mandatory

Default value

fieldNameStringYN
valueStringYN

Return:

Type

Description

StringThis method returns the set value.

Example:

setREMLabelOf
if (s_form.getTableName() == 'user') {
  s_form.setREMLabelOf('email', 'Email');
} else {
  s_form.setREMLabelOf('email', 'Personal Email');
}

s_form.setREMMandatory(fieldName, mandatory)


Use this method to make a field specified by a REM attribute mandatory.

Parameters:

Name

Type

Mandatory

Default value

fieldNameStringYN
mandatoryBooleanYtrue

Return:

Type

Description

Boolean

This method returns true if its execution has been successful.

It returns false in the following cases:

  • If a field is read-only and does not contain any value.
  • If a field is mandatory, it is impossible to clear the Mandatory checkbox with the s_form.setMandatory('some_field', false) method.

Example:

setREMMandatory
const isDeliveryFilled = !!s_form.getValue('delivery');
s_form.setREMMandatory('phone', isDeliveryFilled);

s_form.setREMReadOnly(fieldName, readOnly)


Use this method to make a field specified by a REM attribute read-only.

Parameter(s):

Name

Type

Mandatory

Default value

fieldNameStringYN
readOnlyBooleanYtrue

Return:

Type

Description

Boolean

This method returns true if its execution has been successful.

It returns false in the following cases:

  • If a mandatory field is empty and set to read-only.
  • If a field is read-only, it is impossible to clear the Read Only checkbox with the s_form.setReadOnly('some_field', false) method.

Example:

setREMReadOnly
if (s_form.isNewRecord()) {
  s_form.setREMValue('state', 'new');
  s_form.setREMReadOnly('state', true);
}

s_form.setREMValue(fieldName, databaseValue)


Use this method to set a value of the REM attribute label.

Note that this method is asynchronous; for better performance, use the await keyword as shown in the code example below.

Parameters:

Name

Type

Mandatory

Default value

fieldNameStringYN
databaseValueAnyYN

Return:

Type

Description

VoidThis method does not return a value.

Example:

setREMValue
await s_form.setREMValue('state', 'new');
s_form.save();

s_form.setREMVisible(fieldName, display)


Use this method to define visibility of the field specified by a REM attribute.

Parameters:

Name

Type

Mandatory

Default value

fieldNameStringYN
displayBooleanYN

Return:

Type

Description

VoidThis method does not return a value.

Example:

setREMVisible
s_form.setREMVisible('additional_info', !s_form.isNewRecord());

s_form.setSectionDisplay(sectionName, display)


Use this method to specify the section you need to display.

Parameter(s):

NameTypeMandatoryDefault value
sectionNameStringYN
displayBooleanYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

setSectionDisplay
if (s_form.getValue('state') == '7') { // Completed
  s_form.setSectionDisplay('Closure Information', true);
  s_form.setMandatory('closure_code', true);
  s_form.setMandatory('closure_notes', true);
} else {
  s_form.setMandatory('closure_code', false);
  s_form.setMandatory('closure_notes', false);
  s_form.setSectionDisplay('Closure Information', false);
}

s_form.setValue(fieldName, databaseValue)


Use this method to set a field value. 

Use s_form.clearValue() method to clear the field instead of setting an empty string value.

Note that this method is asynchronous; for better performance, use the await keyword as shown in the code example below.

Parameters:

NameTypeMandatoryDefault value
fieldNameStringYN
databaseValueStringYN

Return:

TypeDescription
ObjectThis method returns a Promise object.

Example:

setValue
await s_form.setValue('state', '7'); // Completed
await s_form.setValue('closure_notes', articleBodies.join('\n'));
await s_form.setValue('closure_code', '1'); // Solved 1st Level
s_form.save()
  .then(() => {
    s_i18n.getMessage(`The typical solution is applied`, (e) => {
      s_form.addInfoMessage(e);
    })
  });

s_form.setVisible(fieldName, display)


Use this method to manage the display of the fields that have been added to the form through the Form Layout. You can hide or show the fields. The hidden field state is similar to being removed from the form view.

Hiding a field for which the mandatory attribute is set on a column level (including the mandatory override described in the Column Override article) leads to the validation errors after the form is saved or submitted from the client-side.

Parameters:

NameTypeMandatoryDefault value
fieldNameStringYN
displayBooleanYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

setVisible
if (!s_form.isNewRecord()) {
  s_form.setVisible('subject', true);
  s_form.setVisible('reason', false);
}

s_form.showFieldMsg(fieldName, message, type) 


Use this method to display informantional and warning messages, and messages containing error description under the specified form field. 

Parameters:

NameTypeMandatoryDefault value
fieldNameStringYN
messageStringYN
typeString Y N

Return:

TypeDescription
VoidThis method does not return a value.

Example:

showFieldMsg
s_form.showFieldMsg('subject', 'Cannot be empty', 'info');
showFieldMsg
s_form.showFieldMsg('subject', 'Cannot be empty', 'warning');
showFieldMsg
s_form.showFieldMsg('subject', 'Cannot be empty', 'error');

s_form.showRelatedLists()


Use this method to display all the lists related to the form.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

showRelatedLists()
s_form.showRelatedLists();

s_form.showRelatedList(listTitle)


Use this method to display a specified list related to the form.

Parameter:

NameTypeMandatoryDefault value

listTitle

StringYN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

showRelatedList
s_form.showRelatedList('UI Action');

s_form.submit()


Use this method to submit a record form.

Return:

TypeDescription
VoidThis method does not return a value.

Example:

submit()
s_form.submit();

Deprecated methods


This subsection contains methods that are not recommended to use in application. They are deprecated as the platform evolves; new methods are developed instead of each of them.

s_form.fieldHasChanges(fieldName)


This method checks whether the specified field has been changed.

This method is deprecated and not recommended to use. Use the s_form.isFieldChanged(fieldName) method instead.

If there is a client script changing a scpecified fieldon the form is running, the s_form. fieldHasChanges(fieldname) method returns true. Both a user and a script can make changes to the form.

Parameter:

Name

Type

Mandatory

Default value

fieldNameStringYN

Return:

Type

Description

Boolean

This method returns true if the specified field has been changed; otherwise, it returns false.

Example:

fieldHasChanges
console.log(s_form.fieldHasChanges('state'));

s_form.hasChanges()


This method gets t information whether a record form has been changed or not.

This method is deprecated and not recommended to use. Use the s_form.isChanged() method instead.

Return:

Type

Description

BooleanThe method returns true if any changes were made on the record form; otherwise, it returns false.

Example:

hasChanges
if (s_form.hasChanges()) {
  s_form.save().then(() => s_form.goBack());
} else {
  s_form.goBack();
}