Difference between revisions of "Referencing Form Fields in JavaScript"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 13: Line 13:
# Get its name from the '''Field Name''' column<br>That name can then be used in the JavaScript code.  
# Get its name from the '''Field Name''' column<br>That name can then be used in the JavaScript code.  


 
The most commonly accessed fields (<tt>TextField</tt>, <tt>TextArea</tt>, <tt>Date</tt>, <tt>DateTime</tt>, <tt>Time</tt>, and <tt>URL</tt>) can be accessed using <tt>_sdForm[0]</tt>. For example, this line of code gets a reference to the <tt>first_name</tt> field, and puts it in the variable <tt>fName_field</tt>:
Fields of type <tt>TextField</tt>, <tt>TextArea</tt>, <tt>Date</tt>, <tt>DateTime</tt>, <tt>Time</tt>, and <tt>URL</tt> can be accessed using <tt>_sdForm[0]</tt>. For example, this line of code gets a reference to the <tt>first_name</tt> field, and puts it in the variable <tt>elem</tt>:
:{|
:{|
<pre>var elem = _sdForm[0].first_name;</pre>
<pre>var fName_field = _sdForm[0].first_name;</pre>
|}
|}


Line 23: Line 22:
:* <tt>value</tt>: the value of the field
:* <tt>value</tt>: the value of the field


So this line retrieves the value of the <tt>first_name</tt> field:
So this line retrieves the value of the field:
:{|
:{|
<pre>var fName = elem.value;</pre>
<pre>var fName = fName_field.value;</pre>
|}
|}


Line 33: Line 32:
|}
|}


The values returned are:
Other fields can be accessed using the platform's JavaScript functions. For a complete list, see the [[#Field Types|Field Types]] section below.
:* '''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==
==Updating Fields==

Revision as of 22:31, 27 June 2013

Referencing the Current Form

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 = _sdForm;

Accessing Fields

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.

The most commonly accessed fields (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 fName_field:

var fName_field = _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 field:

var fName = fName_field.value;

As does this longer version:

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

Other fields can be accessed using the platform's JavaScript functions. For a complete list, see the Field Types section below.

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

Field Type Reference

This