---
title: Submit Form
description: Submit a selected form in the opened page
---

Send a form on the active tab, as if you had pressed its submit button.

## Try it

## What it does

Submit Form finds the first element matching **DOM Selector** and submits the form it belongs to. You can point at:

* **A button**: the button is clicked.
* **The form, a field inside it, or a container around it**: the form is submitted the way the browser does when you press its submit button, so the page's own checks (required fields, formats) run first. If that is not possible, the node clicks the form's submit button, or submits the form directly.

The node does not fail when it cannot submit: it passes the item on with a `result` that says what happened.

## When to use it

* Send a form after filling it with [Form Fill](/nodes/extension/ui/form-fill/).
* Run a search on a site whose search box has no button: point at the search field.
* When submitting needs more than one click (a confirmation dialog), use [UI Automation](/nodes/extension/ui/automation/) instead.

## Inputs and settings

Click the crosshair button in **DOM Selector** and click the form's submit button or any of its fields, or type a CSS selector such as `form#signup`. The **Ping** button flashes what it matches.

## Outputs

Each output item has these fields:

```json title="Shape of an output item"
{
  "result": {}
}
```

The incoming item passes through with a `result` field added:

* `submitted`: `true` when the form was sent.
* `found`: `false` when **DOM Selector** matched nothing.
* `method`: how it was sent (`buttonClick`, `requestSubmit` or `submit`).
* `error`: why it was not sent, for example `No form found for selector`.

## Dependencies and credentials

None. This node needs no connection and has no slots for other nodes.

## Example workflow

1. [Tab Control](/nodes/extension/tabcontrol/), **Operation** = **Open**, opens a contact page with **Wait For Load** on.
2. [Form Fill](/nodes/extension/ui/form-fill/) in **Manual** mode fills `name`, `email` and `message`.
3. **Submit Form** with **DOM Selector** set to the form's **Send** button.
4. [Wait For Element](/nodes/extension/ui/wait-for-element/) with **Condition** = **Contains Text** and **Text** = `Thank you` to confirm it went through.

## Common issues

* **`found` is `false`.** **DOM Selector** matched nothing. Check it with **Ping** on the page.
* **`error` is "No form found for selector".** The element you picked is not inside a form. Pick the submit button itself, or use [UI Automation](/nodes/extension/ui/automation/) to click it.
* **`submitted` is `true` but nothing happened.** The page's own checks may have blocked the submission (a required field is empty or invalid). Check the values from [Form Fill](/nodes/extension/ui/form-fill/), then confirm the result with [Wait For Element](/nodes/extension/ui/wait-for-element/).
* **The node fails outside the extension.** This node runs in the browser extension; install it or run the workflow from the extension.

## Recipes with this node

## Related nodes

* [Form Fill](/nodes/extension/ui/form-fill/): fill the fields first.
* [Get Forms Schema](/nodes/extension/getformsschema/): find the form and its fields.
* [Wait For Element](/nodes/extension/ui/wait-for-element/): wait for the confirmation.