Button Builder

 

 

In this topic ...

Quick Tips

Specifying Inputs

 

Related Topics ...

Overview: Creating Forms

Passing Arguments to Actions

How to Use the Link Builder

How to Use the Action List Builder

How to Use the Method Builder

How to Use the Method Call Builder

The Button builder adds a button input control to one or more pages in your model. We can set the button's onClick action to one of the following actions:

  • Submit the form

  • Execute a link to another page in the model or to an external Web page

  • Execute client-side JavaScript

 

Quick tips

Use input mappings to identify the button when used in a repeated region -- When you use the button (or any other action control builder) in a repeated region, we need to be able to distinguish the button in one row from another. To do this, add a name/value pair to the Input Mappings list that maps an argument name for the method to a value of an element in the "row" on which this button appears.

The elements of the current row are contained in the Repeated Region's loop variable.

 

Specifying inputs

This builder takes the inputs described in the table below. For help on inputs common to many or all builders such as those in the Properties and HTML Attributes input groups, see Using the Builder Call Editor.

Input Name Description
Name Enter a name for this builder call. The designer tool displays this name in the builder call list.
Page Location Use the Page Location input to specify the page or pages on which this builder call will act.

See Locating control builders on pages for detailed documentation about the Page Location input and page location syntax.

Label Enter the text displayed on this button.
Action Type Defines the behavior of the of the action. Choose an action type based on the action that will process the onClick event and if you want to process any form inputs as part of that action.

Submit form and invoke action - Choose this option if the specified action is a method in the model or linked Java object and that method processes the inputs to the form on which the button resides.

Submit form to URL - Choose this option if the specified action is a URL outside of the factory runtime that will process the inputs to a form. The specified URL receives the form input values as name/value pairs appended to the URL.

Link to an action - Choose this option if the specified action is a method in the model or linked Java object (including service calls). This option acts as a simple link, transferring control directly to the specified URL. The specified action cannot process any form inputs.

Link to a URL - Choose this option if you want to navigate to a non-Factory URL. The URL cannot process any form inputs.

Run a script - Choose this option of you want to run some client-side JavaScript when the user clicks on the button. The script cannot process any form inputs.

Action model action or external URL to execute when the user clicks on the button.
Script to Execute Applies only if you selected Run a script as the value for Action Type. Specify the JavaScript to execute when the user clicks on the button. Form inputs, if any, are not submitted to a script.

Note that Do not use comments in the script you specify. The script you specify is added as one line, so any code following comments is ignored.

Arguments
Input Mappings We can pass arguments to the specified action by adding argument names and the value to be passed to it. Use the Reference Chooser to specify input values or values returned by methods or service calls as the value to be passed to an argument for the specified action. See Passing arguments to actions for more information.
Post-Action Behavior
Post-Action Behavior Select what should happen after the action launched by the button has completed.

Default

In most cases this displays the output generated by the action. One exception to this is when the action is run from inside a container that specifies that the outermost page gets rendered after the action runs. In the exception case, default would not display the output, but refresh the outermost page.

Refresh specified page location after running action

The outermost page is not refreshed. Instead, new HTML for the specified region is re-calculated after the action runs, and this HTML is sent to the client where it replaces the existing HTML. If the Replace "id" Matches is checked, then the HTML produced by the action is examined for elements that have ID attribute values. If ID attribute values are found, then the corresponding elements in the page will have their HTML replaced.

Note that If Ajax is disabled, the default post-action behavior is used without loss of functionality. Ajax enablement is controlled through the Global Ajax Enablement builder and profiling rather than changing inputs in a large number of builders.

Replace specified location with action results

This is good for tooltips, incremental validation, and other simple information calculated on the server.

Note that If Ajax is disabled, the default post-action behavior is used without loss of functionality. Ajax enablement is controlled through the Global Ajax Enablement builder and profiling rather than changing inputs in a large number of builders.

Evaluate action results as JavaScript

Run the main action, and evaluate what it returns as JavaScript.

Always reload top-most page after running action

This is very similar to default, but overrides behavior that prevents the top-most page from refreshing (such as those behaviors introduced by the asynchronous client loader builder). This option would be necessary in cases where portal event and render phases need to be carried out to enable portlet-to-portlet communication to function properly.

Show action results "stand-alone": display no containing pages

This option is similar to default, but it ensures that even if the model is running in a portal or model container, the action only returns the results of the specified action, not the containing portal or other surrounding pages. This option is ideal for lower-level Ajax or related functionality such as pop-ups, computed images, or Excel export.
Advanced
Target The window or frame which will display the results of the action. If you do not set this value, the current window/frame will be the target. Valid entries for the Target value include...

  • _self - Display results in the frame containing the form. If target is not specified, _self is the default.
  • _blank - Display results in a new browser window.
  • _parent - Display results in the frameset above the frame containing the form.
  • _top - Display results the topmost frameset.
  • We can also specify the name of a frame in the current frameset.

Note that All of these targets are relative to the form being processed, not the builder itself.

Rendering mode If you know that the specified action returns a specific page, set Rendering Mode to Normal. If you do not know the specific page that gets returned, set Rendering Mode to Render outermost page after running action. For example, use this setting when creating a builder.
Break Containment Enable this check box if you want to replace the contents of the target window with the contents of the URL returned by the action.