<p>Short answer: yes it's possible. Longer answer: it will probably require some custom development during your implementation to get in place what you're looking for.</p>

<p>Sprout Forms has a Tags Field in the Relations Field section of the Form Builder. On the CP side, it's just a wrapper around Craft's Tag Relations field and will work the same way for Content Admins.</p>

<p>By default, this field just outputs a list of tags in a dropdown for a user to choose from.</p>

<p>But, does the field support submitting new tags? I don't know! As the Form is just receiving POST data I'd start by taking a look at how Craft's Tags field is sending new Tags when entries are saved in the back end and try to update the front end tag input to submit data in the same way and see if it works.</p>

<p>If it does work, the main problem here would then be that you'd like to update your front-end UI. You can do that using <a href="https://sprout.barrelstrengthdesign.com/docs/forms/template-overrides.html" rel="nofollow noreferrer">Form Template Overrides</a> and override the input field for the Tags field to behave as you wish. As long as you are submitting the POST data in the same format, Sprout Forms doesn't care which field type you use or if you use javascript or a Vue Component to guide your user toward preparing the input for submission.</p>

<p>If it doesn't work, then we could consider that a Feature Request or you could address the problem by building out a custom Tags Field that behaves as you need it to using the <a href="https://sprout.barrelstrengthdesign.com/docs/forms/custom-form-fields.html" rel="nofollow noreferrer">Form Field API</a>. You're more than welcome to use Sprout Form's Tags Field as a starting point.</p>

CC BY-SA 4.0
2020-04-28T16:35:42.453Z
Thanks but shame it can't already be done. This will be beyond my personal dev/Craft abilities and the budget is small for this project.

Wonder if we forget the ability to show existing ones but somehow have a simple way to add them. A field with comma separated words maybe?
richardpixel
CC BY-SA 4.0
2020-05-04T16:31:00.240Z
I just looked into how Craft creates tags and it's a bit more advanced than just submitting the right data. They appear to create them dynamically and then just match their IDs in the submitted post request, so adding support for this as a front-end form field would be more involved and require some planning and a Custom Form Field. Our default Tag field will remain just a simple implementation that allows a user to choose an existing tag or tags.
Ben Parizek
CC BY-SA 4.0
2020-05-04T16:32:25.543Z
Alternatively, as you suggest, you could consider some other path like a comma separated list in a field. What makes the most sense will probably just depends how you need to be using the data being collected and what the budget allows.
Ben Parizek
CC BY-SA 4.0
2020-04-28T15:43:10.903Z
2020-04-28T15:43:10.903Z
Ben Parizek
<p>I'm building my first <strong>Sprout Form</strong> and I need a <em>tags</em> relational field, but where the user filling in the form can add their own tags, but if similar/matching <em>tags</em> exist then they can select them, like the <em>tags</em> field behaves within the control panel.</p>

<p>Anyone know if that's possible? If not in Sprout Forms, another way?</p>

<form><plugin-sproutforms><tags>
Building my first Sprout Form and need ability to add Tags input
# Building my first Sprout Form and need ability to add Tags input

(Asked by: username_0 on 2020-04-28)

I'm building my first **Sprout Form** and I need a *tags* relational field, but where the user filling in the form can add their own tags, but if similar/matching *tags* exist then they can select them, like the *tags* field behaves within the control panel.

Anyone know if that's possible? If not in Sprout Forms, another way?

**Tags:** form, plugin-sproutforms, tags


---

## 1 answers

### Answer by username_1 on 2020-04-28. Score: 1

Short answer: yes it's possible. Longer answer: it will probably require some custom development during your implementation to get in place what you're looking for.

Sprout Forms has a Tags Field in the Relations Field section of the Form Builder. On the CP side, it's just a wrapper around Craft's Tag Relations field and will work the same way for Content Admins.

By default, this field just outputs a list of tags in a dropdown for a user to choose from.

But, does the field support submitting new tags? I don't know! As the Form is just receiving POST data I'd start by taking a look at how Craft's Tags field is sending new Tags when entries are saved in the back end and try to update the front end tag input to submit data in the same way and see if it works.

If it does work, the main problem here would then be that you'd like to update your front-end UI. You can do that using [Form Template Overrides](https://sprout.barrelstrengthdesign.com/docs/forms/template-overrides.html) and override the input field for the Tags field to behave as you wish. As long as you are submitting the POST data in the same format, Sprout Forms doesn't care which field type you use or if you use javascript or a Vue Component to guide your user toward preparing the input for submission.

If it doesn't work, then we could consider that a Feature Request or you could address the problem by building out a custom Tags Field that behaves as you need it to using the [Form Field API](https://sprout.barrelstrengthdesign.com/docs/forms/custom-form-fields.html). You're more than welcome to use Sprout Form's Tags Field as a starting point.

> **Comments:**
> **username_0**: Thanks but shame it can't already be done. This will be beyond my personal dev/Craft abilities and the budget is small for this project.  Wonder if we forget the ability to show existing ones but somehow have a simple way to add them. A field with comma separated words maybe?  
> **username_1**: I just looked into how Craft creates tags and it's a bit more advanced than just submitting the right data. They appear to create them dynamically and then just match their IDs in the submitted post request, so adding support for this as a front-end form field would be more involved and require some planning and a Custom Form Field. Our default Tag field will remain just a simple implementation that allows a user to choose an existing tag or tags.  
> **username_1**: Alternatively, as you suggest, you could consider some other path like a comma separated list in a field. What makes the most sense will probably just depends how you need to be using the data being collected and what the budget allows.  

---

