Difference between revisions of "Referencing Form Fields in JavaScript"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 5: Line 5:
|}
|}


To find the name of field in the platform:
To find the name of a field in the platform:
# Go to '''[[File:GearIcon.png]] > Customization > Objects > {object} > Fields'''
# Go to '''[[File:GearIcon.png]] > Customization > Objects > {object} > Fields'''
# Find the label of the field you're interested in
# Find the label of the field you're interested in

Revision as of 01:25, 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 the current form and puts 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 fn = elem.value;

As does this longer version:

var fn = _sdForm[0].first_name.value;
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”]); // array of string
setRadioButtonValue(_sdForm, ”first_name”, ”Adam”);
setCheckboxState((_sdForm, ”first_name”, true);  // checked
setCheckboxState((_sdForm, ”first_name”, false); // unchecked