--- title: "Submit Button Control" slug: "submit-button-control" updated: 2025-12-12T14:44:23Z published: 2025-12-12T14:44:23Z canonical: "docs.processmaker.com/submit-button-control" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.processmaker.com/llms.txt > Use this file to discover all available pages before exploring further. # Submit Button Control The Submit Button control adds a button to the [Screen](/v1/docs/screens). The Submit Button control has two functions: - **Submit:** Submits the Screen whilst setting this control's value as specified from the [**Value** setting](/v1/docs/submit-button-control#value). This is the default setting. - **Do Not Submit, Set Value:** Sets this control's value as specified from the **Value** setting, but does not submit the Screen. > This control is only available for Form-type Screens. See [Screen Types](/v1/docs/screens#screen-types). > Examples > > - See how to [configure a Submit Button control that prevents the Request participant from clicking on that control multiple times](https://www.processmaker.com/blog/multiple-form-submit/) so the Screen cannot be submitted after the first click. > - For a documented example of using this control, see [Show or Hide Controls Based on Button Selection](/v1/docs/example-show-or-hide-controls-based-on-button-selection). --- ## Add the Control to a Screen **Permissions** Your user account or group membership must have the following permissions to design a Screen unless your user account has the **Make this user a Super Admin** setting selected: - Screens: Edit Screens - Screens: View Screens See the [Screens](/v1/docs/permission-descriptions-for-users-and-groups#screens) permissions or ask your Administrator for assistance. Follow these steps to add this control to the [Screen](/v1/docs/screens): 1. [Create a new Form-type Screen](/v1/docs/create-a-new-screen) or [edit an existing one.](/v1/docs/manage-screens#edit-a-screen) 2. From the Controls Menu on the left, expand the **Input Fields** category, and then locate the **Submit Button** icon. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/5b063ae5-6001-4dba-b300-741a667420ba.png) 3. Drag and drop the control to the Screen Builder canvas. Existing controls in the Screen will adjust positioning based on where you drag the control. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/822a927c-8a52-4661-9519-0a9036a7d322.png) 4. Configure the Submit Button control. See [Settings](/v1/docs/submit-button-control#inspector-settings). 5. Validate that the control is configured correctly. See [Validate Your Screen](/v1/docs/validate-and-publish-a-screen#validate-a-processmaker-screen). Below is a form with two Submit Button controls. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/869137db-d504-4382-a474-e19d5f22397f.png) --- ## Settings The Submit Button control has the following configurable settings in the Properties Panel: - [**Variable** panel](/v1/docs/submit-button-control#variable-panel-settings) - [**Configuration** panel](/v1/docs/submit-button-control#configuration-panel-settings) - [**Design** panel](/v1/docs/submit-button-control#design-panel-settings) - [**Advanced** panel](/v1/docs/submit-button-control#advanced-panel-settings) - [**Accessibility panel**](/v1/docs/submit-button-control#accessibility-panel-settings) --- ### Variable Panel Settings Expand the **Variable** panel from the Properties Panel on the right to configure the following properties: #### Label Edit the default label that displays for this control if necessary. **New Submit** is the default value. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/58509dd9-b84e-42ec-8dd8-810c9aea82fb.png) #### Variable Name Edit the default **Variable Name** setting value for this control if necessary. The **Variable Name** setting value represents data in this control during Requests. Ensure that the **Variable Name** setting value is a unique name from other controls in this [Screen](/v1/docs/screens) and contains at least one letter. This is a required setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/bc2dec39-8fb5-4966-abc7-b17836587adc.png) Use the **Variable Name** setting value in the following ways: - Reference this control by its **Variable Name** setting's value. The **Data Preview** panel in Preview mode corresponds the Submit Button control's **Variable Name** value. In the example below, `SubmitButtonControl` is the **Variable Name** setting's value when the button is clicked. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/1e1fb9ad-7671-4f2f-8544-cf6c47ce91ca.png) - Reference this control's value in a different Screen Builder control. To do so, use [mustache syntax](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/mustache.5(13).html) and reference this control's **Variable Name** value in the target control. Example: `{{ SubmitButtonControl }}`. - Reference this value in [**Visibility Rule** setting expressions](/v1/docs/submit-button-control#visibility-rule). See [best practices](/v1/docs/screen-design-best-practices#naming-request-variables-for-processmaker-screen-controls) when editing a Request variable name. #### Value Enter any alphanumeric value that represents data when the Request participant selects the Submit Button control. This value can be evaluated in a [**Visibility Rule** setting expression](/v1/docs/submit-button-control#visibility-rule) or in a [Sequence Flow element's condition(s) to trigger](/v1/docs/sequence-flow-element#configure-an-outgoing-sequence-flow-element-from-an-exclusive-gateway-or-inclusive-gateway-element). ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/64e58d9f-65c6-4b5b-8ae5-264d959657a2.png) See how to [configure a Submit Button control that prevents the Request participant from clicking on that control multiple times](https://www.processmaker.com/blog/multiple-form-submit/) so the Screen cannot be submitted after the first click. --- ### Configuration Panel Settings Expand the **Configuration** panel from the Properties Panel on the right to configure the following properties: #### Type Button Select from the following options how the Submit Button control functions when the control is clicked: - **Submit:** Submits the [Screen](/v1/docs/screens) whilst setting this control's value as specified from the [**Value** setting](/v1/docs/submit-button-control#value). This is the default setting. - **Do Not Submit, Set Value:** Sets this control's value as specified from the **Value** setting, but does not submit the Screen. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/082d61a9-17be-4e53-995d-ec9f71b5bc16.png) #### Click Handler Use the **Click Handler** field to define a JavaScript function that runs when the associated button is clicked. This allows you to add interactive behaviors to your screen—such as updating data, switching panels, performing calculations, or setting values within the screen’s data model. > [!WARNING] > Supports only **JavaScript alerts**, and **console.log commands**. Click the **Expand** icon ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Expand Icon.png) to open a larger editor, making it easier to write and organize your code. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Click Handler - Button.png) The **Secure Handler Execution** toggle allows developers to control how button Click Handlers are executed—either in a secure (sandboxed) or non-secure (legacy-compatible) manner. This setting enhances flexibility when executing custom JavaScript in button controls, while maintaining security boundaries based on the environment configuration. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Secure Handler Execution.png) This toggle is not visible by default. To enable it, an administrator must configure the following [environment variable](/v1/docs/environment-variables): ```plaintext SCREEN_SECURE_HANDLER_TOGGLE_VISIBLE=true ``` When set to `true`, the **Secure Handler Execution** toggle appears in the configuration panel of any Submit Button control. **Example: Triggering a Total Price Calculation** Let’s say you have a screen with a list of products, each with a **quantity** and **unit price**. You want to calculate the total price when a button is clicked and store it in the `total` variable. ```javascript // Calculate total price from all products const products = data.products || []; const total = products.reduce((sum, product) => {  const quantity = parseFloat(product.quantity || 0);  const price = parseFloat(product.unitPrice || 0);  return sum + (quantity * price); }, 0); // Return updated value to the screen return {  _root: {    total  } }; ``` --- **✅ Use Case** **Inventory or Sales Form** where a user selects quantities and prices, and needs to calculate totals **on demand** without waiting for server-side logic. **🧠 Key Concepts** - `data.products`: Accesses the array of product records. - `reduce()`: Loops through the array and calculates the total. - `_root.total`: Updates the `total` variable in the screen. > [!NOTE] > Learn JavaScript basics > > For general understanding of variables, arrays, functions, etc., see the [W3Schools JavaScript Tutorial](https://www.w3schools.com/js/default.asp). #### Loading[](/docs/submit-button-control#loading) > [!TIP] > [**Plan Availability:**](https://www.processmaker.com/products/pricing/) ![Professional](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Standard.png)![Professional](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Professional.png)![Enterprise](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Enterprise.png) Enable the **Loading Submit Button** option, and then edit the default **Loading Label** setting text as necessary. The **Loading Submit Button** option replaces the [interstitial Screen](/v1/docs/form-task#display-the-next-assigned-task-to-the-task-assignee) and instead displays the text entered in the **Loading Label** option along with a spinner within the submit button; the Screen does not refresh entirely until the next Task's Screen is ready to load. If this option is disabled, the interstitial Screen works as configured in the Form Task/Manual Task element. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/12e6f160-2fc6-4087-b47f-5087b5b08e19.png) #### Tooltip Configure a tooltip that displays when hovering over the Submit Button control. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/fdbf1394-baad-468c-848f-9fd33307972c.png) 1. From the **Position** drop-down menu, select the position of the tooltip relative to the Submit Button control from the following options: - **Top** - **Top Left** - **Top Right** - **Right** - **Right Top** - **Right Bottom** - **Bottom** - **Bottom Left** - **Bottom Right** - **Left** - **Left Top** - **Left Bottom** 2. From the **Variant** drop-down menu, select the style for the tooltip: - **Primary:** Blue-colored background with white-colored **Label** text. This is the default option. - **Secondary:** Gray-colored background with white-colored **Label** text. - **Success:** Green-colored background with white-colored **Label** text. - **Danger:** Red-colored background with white-colored **Label** text. - **Warning:** Yellow-colored background with black-colored **Label** text. - **Info:** Teal-colored background with white-colored **Label** text. - **Light:** White-colored background with black-colored **Label** text. - **Dark:** Black-colored background with white-colored **Label** text. 3. In the **Tooltip Contains** setting, enter the text that the tooltip displays. This setting supports both HTML and [mustache syntax](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/mustache.5(13).html). --- ### Design Panel Settings Expand the **Design** panel from the Properties Panel on the right to configure the following properties: #### Button Variant Style Select the style for the Submit Button control. The style changes the control's appearance but otherwise has no functional difference. Select from the following options: - **Primary:** Blue-colored background with white-colored **Label** text. This is the default option. - **Secondary:** Gray-colored background with white-colored **Label** text. - **Success:** Green-colored background with white-colored **Label** text. - **Danger:** Red-colored background with white-colored **Label** text. - **Warning:** Yellow-colored background with black-colored **Label** text. - **Info:** Teal-colored background with white-colored **Label** text. - **Light:** White-colored background with black-colored **Label** text. - **Dark:** Black-colored background with white-colored **Label** text. - **Link:** White-colored background with blue-colored **Label** text. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/d0842f7b-e8a2-4753-8820-fe2fd26a61c8.png) --- ### Advanced Panel Settings Expand the **Advanced** panel from the Properties Panel on the right to configure the following properties: #### Submit Information The **Submit Information** setting allows screen designers to control exactly which variables are submitted when a user clicks the **Submit** button. This selective submission capability provides greater precision, improves data integrity, and helps optimize performance in complex or multi-user processes. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Submit Information - Submit Control.png) When enabled, designers can select specific variables from the screen’s data model—such as input fields, calculated values, and watcher-generated data—to include in the submission payload. All variables are selected by default; deselect any variables you do not want to submit. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Submit Information Enabled.png) If no configuration is defined, or if all variables are deselected, the screen continues to submit all variables by default, ensuring full backward compatibility with existing Screens. #### Visibility Rule Specify an expression that indicates the condition(s) under which this control displays. See [Expression Syntax Components](/v1/docs/feel-expression-syntax#show-or-hide-screen-builder-controls). If this setting does not have an expression, then this control displays by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/1671686a-2db8-45fc-8f2b-abdf01a990bc.png) For example, this control displays if the variable value **tip** is **1**. For a detailed example of the Visibility Rule setting, see [Show or Hide Controls Based on Button Selection](/v1/docs/example-show-or-hide-controls-based-on-button-selection). Note the following regarding how to use visibility rules: - To make this control hidden until another control contains a value, enter the **Variable Name** setting value of that control to this control's **Visibility Rule** setting. - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings). See how to [configure a Submit Button control that prevents the Request participant from clicking on that control multiple times](https://www.processmaker.com/blog/multiple-form-submit/) so the Screen cannot be submitted after the first click. #### Device Visibility Select on which device types this control displays: - **Desktop:** The control displays only on desktop devices. Enable the **Show for Desktop** toggle key. - **Mobile:** The control displays only on mobile devices. Enable the **Show for Mobile** toggle key. - **Both:** The control displays on both desktop and mobile devices. Both toggle keys are enabled by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a5a776d6-2352-45a1-a10f-a4f684f50584.png) #### CSS Selector Name[](/docs/submit-button-control#css-selector-name) Enter the value to represent this control in custom CSS syntax when in [Custom CSS](/v1/docs/custom-css#add-custom-css-to-a-processmaker-screen) mode. As a best practice, use the same **CSS Selector Name** value on different controls of the same type to apply the same custom CSS style to all those controls. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/fb4c976a-ac60-4536-80ab-4146f2767466.png) Then, use this name in the [Custom CSS](/v1/docs/custom-css#apply-css-to-specific-processmaker-screen-controls) feature to apply CSS styling to this control as follows: ```plaintext [selector='Submit Form'] {    color: blueviolet; } ``` See the following best practices regarding custom CSS in Screens: - [Editing a CSS name to represent this control in custom CSS syntax](/v1/docs/screen-design-best-practices#css-selector-naming-best-practice) - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings) See the following best practices regarding custom CSS in Screens: - [Editing a CSS name to represent this control in custom CSS syntax](/v1/docs/screen-design-best-practices#css-selector-naming-best-practice) - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings) --- ### Accessibility Panel Settings The **Accessibility** panel centralizes settings that enhance screen-reader compatibility and overall usability. ARIA Label setting persists through import, copy/paste, versioning, and upgrades, supporting a more inclusive and standards-aligned Screen Builder experience. #### Aria Label Enter the string that provides a text alternative to this control for the following purposes: - Assistive technology, such as screen readers, read the **Aria Label** setting value. - This control has a visual indication of its purpose, such as a button that uses a graphic instead of text, but still needs to clarify that purpose for anyone who cannot access the visual indication. The **Aria Label** setting value replaces the [**Label** setting](/v1/docs/submit-button-control#label) value. For example, if a [Submit Button](/v1/docs/submit-button-control) control has both a **Label** setting value and an **Aria Label** setting value, assistive technology only uses the **Aria Label** setting value. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e7956500-9e6c-46d1-bcc2-8a9508380d47.png) #### Tab Order Tab order determines the sequential navigation order to navigate a Screen's controls using a keyboard interface. Assistive technology users often use a keyboard for navigation. [See best practices for setting the tab order for a Screen's controls](/v1/docs/screen-design-best-practices#tab-order-for-keyboard-navigation). Enter the number for the sequential keyboard navigation order that this control takes focus amongst other controls in this Screen. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/855dec80-c3f4-429b-8b61-e763137204cf.png)