Difference between revisions of "Form Scripts"
imported>Aeric |
Wikidevuser (talk | contribs) |
||
(85 intermediate revisions by 2 users not shown) | |||
Line 12: | Line 12: | ||
::*At this event, optionally perform custom front-end validations before sending the data to the server | ::*At this event, optionally perform custom front-end validations before sending the data to the server | ||
::*Return false to cancel the save | ::*Return false to cancel the save | ||
:*; | :*;Reusable Script Functions: | ||
::*Available to be called from the On Load or On Save event form scripts | ::*Available to be called from the On Load or On Save event form scripts | ||
::*Also available to be called from the On Change and On Focus event field scripts | ::*Also available to be called from the On Change and On Focus event field scripts | ||
Line 21: | Line 21: | ||
===Working with Form Scripts=== | ===Working with Form Scripts=== | ||
{{Note| Please note that all the examples listed in this page are limited to the legacy AgileApps UI and not the new runtime AgileApps UI.}} | |||
====Editing Form Scripts==== | ====Editing Form Scripts==== | ||
Follow these steps to add or change scripting in a form: | Follow these steps to add or change scripting in a form: | ||
{{Note|To run the JavaScript in the LongJump UI and the legacy AgileApps UI, enter the script in the '''Legacy UI Script''' tab. To run the JavaScript in the New AgileApps UI, enter the script in the '''New UI Script''' tab.}} | |||
# Click '''[Form Script]''' | # Click '''[Form Script]''' | ||
# Click '''[Edit]''' | # Click '''[Edit]''' | ||
Line 36: | Line 37: | ||
===On Load Examples=== | ===On Load Examples=== | ||
These examples perform operations when a form is loaded. | |||
====Add a Help Button to an Arbitrary Form==== | |||
This code works for forms in all objects, including Cases, Tasks, and custom objects. And it works when adding a new record, as well as when viewing an existing record. | |||
For information about adding a help button to a form, see the tech community article [https://tech.forums.softwareag.com/t/adding-a-custom-button-to-an-arbitrary-form-using-form-script/237542 Adding a Custom Button to an Arbitrary Form using Form Script]. | |||
====Convert a Date==== | ====Convert a Date==== | ||
Line 52: | Line 59: | ||
====Trigger on a Specific Action==== | ====Trigger on a Specific Action==== | ||
To invoke a script On Load + Action (View, Update, Add or Clone a record): | To invoke a script On Load + Action (View, Update, Add or Clone a record): | ||
{{Note|For new UI, see the section '''Variables and Methods Introduced in the Revamped UI ''' in [[JavaScript Field Type Reference for New AgileApps User Interface]]}} | |||
Trigger on record ''View'': | Trigger on record ''View'': | ||
:{| border="0" cellpadding="5" cellspacing="0" | :{| border="0" cellpadding="5" cellspacing="0" | ||
|<pre> | |<pre> | ||
var action = _sdForm.a.value; | var action = _sdForm.get(0).a.value; | ||
if ( action == "view") { | if ( action == "view") { | ||
// java script to be triggered on the view of the record only | // java script to be triggered on the view of the record only | ||
Line 67: | Line 75: | ||
:{| border="0" cellpadding="5" cellspacing="0" | :{| border="0" cellpadding="5" cellspacing="0" | ||
|<pre> | |<pre> | ||
var action = _sdForm.a.value; | var action = _sdForm.get(0).a.value; | ||
if ( action == "update") { | if ( action == "update") { | ||
// java script to be triggered on the update of the record only | // java script to be triggered on the update of the record only | ||
Line 77: | Line 85: | ||
Trigger on record ''Add'' or ''Clone'': | Trigger on record ''Add'' or ''Clone'': | ||
:{| border="0" cellpadding="5" cellspacing="0" | :{| border="0" cellpadding="5" cellspacing="0" | ||
|<pre>var action = _sdForm.a.value; | |<pre>var action = _sdForm.get(0).a.value; | ||
if ( action == "add") { | if ( action == "add") { | ||
//java script to be triggered on the add or clone of the record only | //java script to be triggered on the add or clone of the record only | ||
Line 85: | Line 93: | ||
|} | |} | ||
===On Save Examples=== | |||
For examples related to the On Save action, see the tech community article [https://tech.forums.softwareag.com/t/perform-custom-validations-using-form-script-in-agileapps/237545 Perform Custom Validations using Form Script in AgileApps]. | |||
: | |||
===Learn More=== | ===Learn More=== | ||
:* [[JavaScript Field Type Reference for New AgileApps User Interface]] | |||
:* [[Referencing Form Fields in JavaScript]] | :* [[Referencing Form Fields in JavaScript]] | ||
:* [[Field Name|Field Name and Field Value]] syntax | :* [[Field Name|Field Name and Field Value]] syntax | ||
:* Use [[AJAX and REST]] to communicate with the platform in JavaScript code. | :* Use [[AJAX and REST]] to communicate with the platform in JavaScript code. | ||
:* [[ | :* [[JavaScript Functions]] | ||
:* [[JavaScript#Accessing_Additional_Lookup_Variables_in_a_Form|Accessing Additional Lookup Variables in a Form]] | :* [[JavaScript#Accessing_Additional_Lookup_Variables_in_a_Form|Accessing Additional Lookup Variables in a Form]] | ||
<noinclude> | <noinclude> |
Latest revision as of 05:12, 17 May 2024
About Form Scripts
Form Scripting lets you specify JavaScript code to execute when a Form is loaded or saved.
JavaScript code can be invoked at these form-level events:
- On Load
- This event happens when the form loads
- By default, the On Load scripts are triggered on any record action (View, Add, Update)
- Optionally, invoke the script on a specific action (View or Add or Update)
- Learn more: Trigger on a Specific Action
- On Save
- This event happens when a user clicks the [Submit] button on a form
- At this event, optionally perform custom front-end validations before sending the data to the server
- Return false to cancel the save
- Reusable Script Functions
- Available to be called from the On Load or On Save event form scripts
- Also available to be called from the On Change and On Focus event field scripts
- Learn more:
- Compare to Post Selection JavaScript and Field Scripting
- Using AJAX and REST to communicate with the platform
Working with Form Scripts
Editing Form Scripts
Follow these steps to add or change scripting in a form:
- Click [Form Script]
- Click [Edit]
- Enter or change the JavaScript in On Load Script, On Save Script, and/or Reusable Script Functions
- Click [Save]
Writing JavaScript
Using JavaScript, you can
- Reference Fields in the current form.
- Use AJAX and REST to communicate with the platform.
On Load Examples
These examples perform operations when a form is loaded.
Add a Help Button to an Arbitrary Form
This code works for forms in all objects, including Cases, Tasks, and custom objects. And it works when adding a new record, as well as when viewing an existing record. For information about adding a help button to a form, see the tech community article Adding a Custom Button to an Arbitrary Form using Form Script.
Convert a Date
Create readable date string from the current date for display in the order_date field.
var v1 = new Date(); var v2 = new Array('Sun', 'Mon', 'Tues', 'Wed', 'Thu', 'Fri', 'Sat'); var v3 = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); date_string = v2[v1.getDay()] + " " + v3[v1.getMonth()] + " " + v1.getDate(); setTextFieldValue(_sdForm, "order_date", date_string);
Trigger on a Specific Action
To invoke a script On Load + Action (View, Update, Add or Clone a record):
Note: For new UI, see the section Variables and Methods Introduced in the Revamped UI in JavaScript Field Type Reference for New AgileApps User Interface
Trigger on record View:
var action = _sdForm.get(0).a.value; if ( action == "view") { // java script to be triggered on the view of the record only ... }
Trigger on record Update:
var action = _sdForm.get(0).a.value; if ( action == "update") { // java script to be triggered on the update of the record only ... }
Trigger on record Add or Clone:
var action = _sdForm.get(0).a.value; if ( action == "add") { //java script to be triggered on the add or clone of the record only ... }
On Save Examples
For examples related to the On Save action, see the tech community article Perform Custom Validations using Form Script in AgileApps.
Learn More
- JavaScript Field Type Reference for New AgileApps User Interface
- Referencing Form Fields in JavaScript
- Field Name and Field Value syntax
- Use AJAX and REST to communicate with the platform in JavaScript code.
- JavaScript Functions
- Accessing Additional Lookup Variables in a Form