AgileApps Support Wiki Pre Release

Difference between revisions of "Referencing Form Fields in JavaScript"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 1: Line 1:
;Accessing fields:
__TOC__
==Accessing Fields==
In the HTML document object model (DOM), the current form is named <tt>_sdForm</tt>.<br>
In the HTML document object model (DOM), the current form is named <tt>_sdForm</tt>.<br>
This line of code gets a reference to it and puts it in the <tt>form</tt> variable:
This line of code gets a reference to it and puts it in the <tt>form</tt> variable:
Line 35: Line 36:
:* '''String -''' for all other fields, including Lookup fields
:* '''String -''' for all other fields, including Lookup fields


;Updating fields:
==Updating Fields==
The method used to update a field depends on the field type. All of the methods have the general form:
The method used to update a field depends on the field type. All of the methods have the general form:
:{|
:{|
Line 53: Line 54:
     // where 123456 is the record ID of the target record  
     // where 123456 is the record ID of the target record  
     // "My Project" is the value of the record locator field(s) for that record
     // "My Project" is the value of the record locator field(s) for that record
</pre>
|}
:''Learn more:'' [[Record Locator]]
;Example - Update the field value of a text field:
To update the field value of a text field <tt>first_name</tt>, use the following syntax:
:<tt>setTextFieldValue(_sdForm,”first_name”,”Adam”)</tt>
;Example - Update the field value of a Lookup field:
To update the field value of a [[Lookup]] field, two parameters are required:
:;RecordID:<tt>lookup.value</tt>
::This is the [[Record Id]] of the record in the object
:;Field value:<tt>lookup_name.value</tt>
::This is the value of the record in the object
To update the field value of a lookup field (<tt>project_number</tt>), use the following syntax:
:{|
<pre>
form.project_number.value = "123456";
// 123456 is the internal record identifier of the record present in lookup object
form.project_number_name.value = "My Project";
// My project is the value present in the record locator field(s) of the lookup object
</pre>
</pre>
|}
|}

Revision as of 22:04, 27 June 2013

Accessing Fields

In the HTML document object model (DOM), the current form is named _sdForm.
This line of code gets a reference to it and puts it in the form variable:

var form = document._sdForm;

To find the name of a field in the platform:

  1. Go to GearIcon.png > Customization > Objects > {object} > Fields
  2. Find the label of the field you're interested in
  3. Get its name from the Field Name column
    That name can then be used in the JavaScript code.

Fields of type TextField, TextArea, Date, DateTime, Time, and URL can be accessed using _sdForm[0]. For example, this line of code gets a reference to the first_name field, and puts it in the variable elem:

var elem = _sdForm[0].first_name;

Fields have two properties that you can access in JavaScript:

  • name: the name of the field
  • value: the value of the field

So this line retrieves the value of the first_name field:

var fName = elem.value;

As does this longer version:

var fName = _sdForm[0].first_name.value;

The values returned are:

  • Boolean - for Checkbox fields
  • Array of String - For a Multi Select Picklist, where each string is the value of an item in the picklist.
  • String - for all other fields, including Lookup fields

Updating Fields

The method used to update a field depends on the field type. All of the methods have the general form:

set...Value(_sdForm, field, value);

Here are examples of the different methods:

setTextFieldValue(_sdForm, ”first_name”, ”Adam”);
setPickListValue(_sdForm, ”first_name”, ”Adam”);
setMultiPickListValue(_sdForm, ”first_name”, [”new”,”closed”]); 
    // value is an array of strings
setRadioButtonValue(_sdForm, ”first_name”, ”Adam”);
setCheckboxState((_sdForm, ”first_name”, true);  // checked
setCheckboxState((_sdForm, ”first_name”, false); // unchecked
setLookupValue(_sdForm, "project_number", "123456", "My Project");
    // where 123456 is the record ID of the target record 
    // "My Project" is the value of the record locator field(s) for that record