Referencing Form Fields in JavaScript

From AgileApps Support Wiki
Revision as of 00:16, 28 June 2013 by imported>Aeric (→‎Updating Fields)

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.

All fields can be accessed using the platform's JavaScript functions, as described in the Field Types section below.

The most commonly accessed fields (TextField, TextArea, Date, DateTime, Time, and URL) can also 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 some common 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

For a complete list, see the Field Type Reference section that follows

Field Type Reference

The following table shows how to access and update the different field types, where:

  • _sdForm is the current form reference
  • fieldname is a string containing the name of the field
Type Getter Setter
Auto Number n/a n/a
Checkbox

getCheckBoxState(_sdForm, field)
Returns: true or false

setCheckboxState(_sdForm, field, state)
state: true or false

Currency

getTextFieldValue(_sdForm, field)
Returns : String containing value

setTextFieldValue(_sdForm, field, value)
value: String containing new value

Custom Control n/a n/a
Date

_sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing value

setTextFieldValue(_sdForm, field, value)
value: String containing new value


Datetime

_sdForm[0].fieldname.value
-or-
getTextFieldValue(_sdForm, field)
Returns: String containing value

setTextFieldValue(_sdForm, field, value)
value: String containing new value

Dependent Picklist

getPickListSelectedValue(_sdForm, field)
Returns: selected String containing value

setPickListValue(_sdForm, field, value)
value: String containing new value

Email Address

getTextFieldValue(_sdForm, field)
Returns: String containing value

setTextFieldValue(_sdForm, field, value)
value

File n/a n/a
Formula n/a n/a
Global Picklist


Image n/a n/a
Lookup


Multiple Checkboxes


Multi Object Lookup


Multi Select Picklist


Number


Number with decimals


Percentage


Phone/Fax


Picklist


Radio Buttons


Rich Text Area n/a n/a
TextArea


TextField


Time


URL

Global JavaScript Variables

No JavaScript variables are currently defined.