Back Forward Harness, section, and flow action forms
Implementing dynamic form actions and the Client Event Editor

About Harness rules

 zzz Show all 

To reduce the size and complexity of work object forms, you can hide, show, or alter parts of the runtime presentation of harness, section, and flow action forms based on user input. Additionally, you can cause sections to repaint based on user interactions.

For example, if a user selects 3 in a field labeled Children, the work object form can quickly change to present three input fields, to collect the name or other information about each child. Similarly, if a user checks a box labeled Earthquake Coverage?, fields appropriate and specific to that situation can appear.

The field to which an event is linked is known as the controlling field. Other fields that may become visible or hidden are known as the controlled fields. In the first example, the Children field contains the controlling field and the Child Name fields are controlled.

Internally, user interactions trigger the JavaScript events OnBlur, OnChange, and OnClick that then execute built-in JavaScript functions to change or refresh the form.

 zzzPrerequisites

Dynamic form actions require the following:

  1. A harness, section, or flow action rule saved in Version 5 or later that uses the SmartFrames layout and uses only JSP tags, not directives. Section rules referenced with the rule also must use only JSP tags.
  2. The HTML Property rule associated with the property (through the Property form or through the Harness, Section, or Flow Action form) must include the JavaScript code in the HTML Property rule named ClientValidation. Several standard HTML Property rules meet this requirement.
  3. A visible property presented on the runtime form in read-write mode.
  4. An event associated with a controlling property.
  5. A test condition associated with one or more controlled properties.

 zzz1. Establish the controlling field with the Client Event Editor

Use the Client Event Editor to associate an event with the value that the user enters into an input field for a property.

1. Consider the HTML Property rule that is to be used to present the controlling property. This rule may be identified in the Display As field of the panel. Click the Preview toolbar button (Preview) to see an approximate runtime presentation.

2. Click the magnifying glass icon (Magnifying glass) on the Behavior field to start the Client Event editor in a new window.

3. Complete the Client Event Editor form. See Help — Client Event Editor.

 zzz2. For each controlled element, enter a Condition

At runtime, a controlled element is visible or hidden dynamically, based on the results of the Run on Client test. The following controlled elements are supported:

To establish a controlled element:

1. On the Field, Layout, Section Include or Container panel, choose Other Condition for the Visible When field.

2. In the Condition field, enter one or more simple test conditions for the property value in the controlling field. Provide a comparison of the property with a constant value using one of the operators ==, !=, >, >=, <, <=. Unless the Type of the property is Integer, TrueorFalse, or Decimal, place a pair of double quotation characters around the string constant. You can use parentheses and the && and || operators to group multiple conditions.

For example, these are valid:

        .pyAddress2 != ""

        .Color == "blue"

        .Limit >= 32 || .Limit <= 20

        .GoldCard = true && .StateCode!="VA"

        .RetiredDate >= "20071010"

         (.pyAddress2 !="" || .pyEmailAddress!="") && .pyStateCode!=""

See Constants in expressions — Constants for information on entering constants.

3. Select the Run on Client? box.

 zzzNotes

This feature does not require that the Enable Client Side Validation? box be selected on the HTML tab of the Harness or Flow Action form.

When you select Refresh This Section as the Action, at runtime Process Commander uses AJAX technology to communicate between the Internet Explorer client and the server.

Definitions AJAX
Related topics Harness, Section, and Flow Action forms — Fields — Adding a Text box

zzz About Flow Action rules

zzz About Harness rules

zzz About Section rules