Difference between revisions of "Post Selection JavaScript"
imported>Aeric |
imported>Aeric |
||
Line 12: | Line 12: | ||
# Click the '''Save''' button. | # Click the '''Save''' button. | ||
==== | ====Lookup Variables==== | ||
In the JavaScript code, the following variables are available: | In the JavaScript code, the following variables are available: |
Revision as of 00:12, 22 May 2014
About Post Selection JavaScript
Lookup fields can perform additional operations using JavaScript. The code runs whenever the user selects a target record in an object Form.
Post Selection JavaScript is similar in nature to Form Scripting and Field Scripting, but it provides additional variables that are pertinent to a Lookup field.
Working with Post Selection Scripts
Follow these steps to add or change scripting for a Lookup field:
- Click > Customization > Objects > {object} > Fields
- Click the name of the Lookup field.
- Enter or change the code in Post Selection JavaScript.
- Click the Save button.
Lookup Variables
In the JavaScript code, the following variables are available:
- objectId - The identifier for the Object
- id - The identifier for the selected record
- name - The label of the selected record, as defined by the Record Identifier configured for the object.
Learn More
- Field Name and Field Value syntax
- Use AJAX and REST to communicate with the platform in JavaScript code.
- Global JavaScript Variables
- Accessing Additional Lookup Variables in a Form
Examples
Display the Label of the Selected Record
This example uses the name variable to display the label of the record.
- <syntaxhighlight lang="javascript" enclose="div">
alert("You have selected record: " + name); </syntaxhighlight>
Copy a Field from Another Record
This code accesses the record targeted by a Lookup, retrieves a field value, and places it into the current form. Here, the current record is an OrderItem. When the user selects the Order the item is part of, this code retrieves the Order number and stores it in the current record.
- <syntaxhighlight lang="javascript" enclose="div">
$.ajax({ type: 'GET', url: '/networking/rest/record/0123abc_objectID_xyz456/'+id+'?alt=json', async : false, dataType: 'json', success: function(response) {
// Get value from Order record var value = response["platform"]["record"]["order_num"]; setTextFieldValue(_sdForm, "order_number", order); // Set it in current record
}, error: function(xhr) {
var response = eval( "(" + xhr.responseText + ")" ); alert(response["platform"]["message"]["description"]);
} }); </syntaxhighlight>
- Considerations
-
- Since the user is working with an object Form, the copied data is immediately visible when the lookup is made.
- The JavaScript functions that can be used to set and get form fields are shown below.
- Only fields present in the form can be referenced.
JavaScript Field Type Reference
The following table shows how to access and update the different field types, where:
- _sdForm is the variable that references the current form
- field is a string containing the name of the field
(as with all strings, literal values must be in quotes) - value is a value you specify (generally a string)
- value is language keyword, typed exactly as shown--as in this line,
for example, which gets the value from a field called email_address:
- _sdForm.email_address.value
Note:
Form data is in User Format. Data entered into the Form must be in that format, as well. Data going to and from the platform, on the other hand, must be in Database Format.- Learn more: Localization#JavaScript Programming
Note: JavaScript functions mentioned in the table does not support Web Forms.
Type Getter Setter Auto Number n/a n/a Checkbox getCheckBoxState(_sdForm, field)
Returns: true or falsesetCheckboxState(_sdForm, field, state)
state: true or false
Example:
setCheckboxState(_sdForm, "item_approved", true);Currency getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new valueDate _sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new valueDate time _sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new valueDependent Picklist getPickListSelectedValue(_sdForm, field)
Returns: selected String containing valuesetPickListValue(_sdForm, field, value)
value: String containing new valueEmail Address getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new valueExternal Lookup n/a n/a File Field n/a n/a Formula n/a n/a Geolocation getTextFieldValue(_sdForm, field)
Returns: A string containing a latitude and longitude,
separated by a comma and a space.
Ex: 37.403930662906106, -121.97971165820213setTextFieldValue(_sdForm, field, value)
value: A string containing the new geolocation valueGlobal Picklist getPickListSelectedValue(_sdForm, field)
Returns: selected String containing valuesetPickListValue(_sdForm, field, value)
value: String containing new valueImage Field n/a n/a Lookup getLookupFieldValue(_sdForm, field)
Returns: String containing record ID
getLookupFieldText(_sdForm, field)
Returns: String containing the displayed textsetLookupValue(_sdForm, field, value, text)
value: String containing record ID
text: String containing the text to displayMultiple Checkboxes getMultiCheckBoxValue(_sdForm, field)
Returns: An array of values, one for each checked boxgetMultiCheckBoxValue(_sdForm, field, index)
index: 0 for the first checkbox,
1 for the second, and so on.
Returns: The value of the box if selected, else an empty stringsetMultiCheckBoxValue(form, field, [value1, ...])
Argument: Array of values to set
Example:
setMultiCheckBoxValue(_sdForm, field, ["A", "B"])
(Checkboxes for all other values are turned off)Multi Object Lookup n/a n/a Multi Select Picklist getMultiPickListSelectedValue(_sdForm, field)
Returns: Array of strings, with selected values
Example: ["A", "C"]setMultiPickListValue(_sdForm, field, [value1, ...])
Argument: Array of values to select
Example:
setMultiPickListValue(_sdForm, field, ["A", "B"] )Number _sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new value, or a numberNumber with decimals sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new value, or a floatPercentage sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new valuePhone/Fax sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new valuePicklist getPickListSelectedValue(_sdForm, field)
Returns: selected String containing valuesetPickListValue(_sdForm, field, value)
value: String containing new value
Example:
setPickListValue(_sdForm, "status", "Closed");Radio Buttons getRadioButtonValue(_sdForm, field)
Returns: String containing selected valuesetRadioButtonValue(_sdForm, field, value)
value: String containing new value to select
Example:
setRadioButtonValue(_sdForm, "color", "Black");Rich Text Area n/a n/a Rollup Summary Field n/a n/a TextArea _sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new valueTextField _sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new value
Example:
setTextFieldValue(_sdForm, "first_name", "Adam");Time _sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new valueURL _sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing valuesetTextFieldValue(_sdForm, field, value)
value: String containing new value