splitforms.com

HTML · FORM ATTRIBUTE

HTML form target attribute

Last reviewed

The target attribute on a <form> names the browsing context that shows the response after submit. The default is _self, the same tab. _blank opens a new tab. A name that matches an <iframe name> loads the response in that iframe, so the visitor stays on the page. formtarget on a button overrides it for that one button.

  • Live, editable example
  • Copy-paste snippet
  • Attributes & common mistakes
Live demo · nothing is sent

What gets submitted

Fill in the form above and press its button. The demo stops the request and lists every name=value pair the browser would send, plus the controls it leaves out.

With a free access key in the form, these fields land in your splitforms dashboard; access_key and botcheck are read by splitforms, not stored as lead data.

Edit the HTML and re-run it
Runs in a sandbox. Nothing is sent.

Minimal snippet

form-target-example.html
<form action="/subscribe" method="post" target="_blank">
  <button type="submit">Subscribe</button>
</form>

Copy-paste code

HTML Form target code you can paste today.

Replace YOUR_ACCESS_KEY with a key from your free splitforms dashboard. The form posts to one endpoint — submissions land in your inbox and dashboard with spam filtering built in.

Get free access key
form-target.html
<form action="https://splitforms.com/api/submit" method="POST" target="sf-result">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">

  <label for="name">Name</label>
  <input type="text" id="name" name="name" autocomplete="name" required>

  <label for="email">Email</label>
  <input type="email" id="email" name="email" autocomplete="email" required>

  <!-- Honeypot: hidden from people, bots fill it in -->
  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">

  <button type="submit">Send</button>
</form>

<!-- The response loads here, so this page doesn't redirect -->
<iframe name="sf-result" title="Form result" hidden></iframe>

Attributes · <form target>

Which HTML Form target attributes matter?

These attributes decide how the <form target> behaves and what actually gets emailed to your inbox when someone submits.

HTML Form target attributes and what each one does
AttributeWhat it does
_selfThe default. The response replaces the current page in the same tab.
_blankOpens the response in a new tab or window. The form page stays open in the old tab.
_parentLoads the response in the parent frame. With no parent it acts like _self.
_topLoads the response in the top-level tab, replacing every frame. Useful when the form sits inside an iframe.
a named iframeAny other name, like target="sf-result", loads the response in the <iframe name="sf-result">. If no such frame exists, the browser opens a new tab.
formtargetSet on a <button> or <input type="submit">. Overrides the form's target for that button only.

Common mistakes

HTML Form target not working? Here's why.

Most broken forms come down to a few small mistakes with the <form target>. Check these before you ship, then forward every submission to Slack or a webhook.

  1. Popup blockers can stop _blank

    When a script calls form.submit() without a click from the visitor, some browsers treat a target="_blank" submission as a popup and block it. Let a real submit button send the form.

  2. The iframe needs a name, not an id

    target matches the iframe's name attribute. <iframe id="sf-result"> won't work, and the response opens in a new tab instead.

  3. You can't read a cross-origin iframe

    When the response comes from another domain, your JavaScript can't read what loaded in the iframe. To show a confirmation, use the endpoint's redirect or send the form with fetch() and read the JSON response.

  4. target is ignored with fetch()

    When you send the form with fetch(), no page loads anywhere, so target has no effect. Your script decides what to show.

Sources: WHATWG HTML Standard: target · MDN: the form element, target

Copy-paste ready

The HTML Form target example below is a complete, working form — paste it into any HTML page and it submits, no edits to the markup required.

No backend to build

Your html form target form posts to one endpoint. No server, PHP, or API route — accepted submissions are saved to your dashboard before owner notification email is attempted; delivery time and inbox placement depend on provider and recipient settings.

A form that really submits

Unlike a static reference snippet, this <form target> form actually sends data to a free splitforms backend, with spam filtering built in.

How it works

How to add HTML Form target to any page.

Copy the html form target example, drop in your free access key, and paste it into any page — submissions start landing in your dashboard.

Copy the code

Copy the HTML Form target example below.

Add your access key

Replace YOUR_ACCESS_KEY with a free splitforms key from the dashboard.

Paste into your site

Drop the form into any HTML page. Submissions arrive in your dashboard.

How SplitForms works

What happens after someone submits your form?

splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

A SplitForms contact form submission launching straight to your inbox

Add your endpoint

Point your form to your unique SplitForms endpoint. That's it.

HTML form pointing at a SplitForms submit endpoint

Receive submissions

We instantly capture and organize every submission in your inbox.

Submissions inbox with searchable leads and status pills

Route anywhere

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

Generic integration tiles for email, sheets, chat, CRM, automate, and webhook

No credit card required. Set up in under 60 seconds.

Connect & automate

Where can submissions go besides email?

On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Connect your SplitForms form to Slack, Google Sheets, Mailchimp, Zapier and more
NewTake payments on your formsDeposits, bookings, order forms — submitters check out through Stripe and the money goes straight to your Stripe account. Included on every paid plan.See payment forms →Need time slots? Online booking →

Setup guides for the stacks you use

Questions

HTML Form target questions, answered.

View all FAQs
How do I open form results in a new tab?

Add target="_blank" to the <form>. When the visitor clicks submit, the response opens in a new tab and the form page stays open in the original one.

How do I submit a form without leaving the page?

Add an <iframe name="result" hidden> to the page and set target="result" on the form. The response loads in the hidden iframe, so the page doesn't redirect. You can also send the form with fetch() instead.

What is formtarget?

formtarget goes on a submit button and overrides the form's target for submissions made with that button only. For example, one button can open a preview in a new tab while another submits in the same tab.

Does target change what data is sent?

No. target only decides where the response is shown. The fields, the method and the encoding are exactly the same whatever target you use.

What is the default target of a form?

_self. With no target attribute, the response replaces the current page in the same tab, unless a <base target> on the page sets a different default.

Simple pricing

How much does splitforms cost?

Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.

Free

$0— 500 submissions
 

No card, no time limit

Best for testing

For side projects and indie devs.

  • 500 free submissions
  • Unlimited forms
  • Email notifications included
  • Smart spam filtering
  • Submissions dashboard
  • Redirect after submit
  • MCP server included

Annual

$49/ year
About $4.08 per month, billed yearly
Best value

Every Pro feature with triple the volume — $0.27 per 1,000 at full use.

  • 15,000 submissions per month
  • Unlimited forms
  • Everything in Pro
  • File uploads with 5 GB storage
  • 3 team seats
  • Priority email support

No credit card required on Free • Cancel anytime • Full pricing and FAQ