Keep users from submitting already submitted form

How can I simply (without code/special permissions) keep signed up users from submitting a form that they have already submitted?

I currently have a button on a list details block that links to a form. The form has two hidden fields, one that passes the record id of an item and another that passes the user id (email). A simple solution doesn’t seem to be posted in the community, so I appreciate any help, ideas, or info. Thanks!

Hi Ben, What do you want to see exactly? When the form is submitted, then the button disappears?
If so, I usually use airtable formula (that’s the only way) with an IF function.

If this is your case, tell me, and I will write the formula here

Hi Matthieu. Sure, the button disappearing on the list details block after the form is submitted would be a good outcome. I’m interested to see how that would work, given the workflow I described.

Quick question: where is the form? in an other page? or in the same page as the list details block with the button (sorry if it appears stupid, devil is in the details, even if I’m pretty sure it’s in an other page = you click on the button on page 1 => it leads you to the form on page 2, does it?)

Yes. The button on a list details block points to another page where the form is. If that is not possible without code or special permissions, a disappearing form below the list details block on the same page could work as well.

So.

  1. in Airtable, within the table where the data of the list details page is, you’re going to add a formula field
  2. This formula will be like the screenshot (please adapt it to your use case). Note that you absolutely need to get the recordId of the next page within that formula = the recordId needs to be in the table too (even inside a lookup field, no problem).
  3. Go back to Softr studio, go to the button of the list details page and choose “open external url”. Choose the formula field you just created.
  4. It should work, when the form is submitted = the recordId will be created in Airtable = so it won’t be empty anymore. The formula will make the button disappear as Softr makes it disappear when there is no data to display.

Your use case might be a little more complicated, specifically inside the Airtable base. Don’t worry, I can still help (will be for tomorrow), as it’s just a little work to put all the right data in the same table. So, if you have any problem, you can just send some pictures here or in private message (Just precising that it will be 100% free, even if I mentioned “little work” or private message :sweat_smile:)

formulaexample

Note that all what is black in the screenshot should be violet (sign that it is dynamic data) + the & and what is after (the recordId dynamically pulled in the formula is attached, even if it doesn’t look attached)

Note 2: I forgot a ) at the very end of the formula showed in the screenshot

Note 3: this recordId is the recordId of the page where will be the form

Note 4: you can also use this formula :
IF ({Field A} = BLANK() , ’ ’ , ‘yourdomain.com’&{recordId})

Hey folks also wanted to share there is a ticket in our backlog for addressing this use case. It most probably will be picked up in the next 2-3 weeks

Hi Artur. What will the workflow look like? Will it be as simple as pointing a button to a block or page with a form on it and additional settings?

Thanks for the advice Matthieu! Step 2 was tough to follow, but I think the idea works.

List Details Table

{REVIEWS} links to another table for the form data. {Reservation Review Button} is what the list details button points to and the {Reservation Record ID} is the record id of the list details item on this table.

List Details Formula

{Reservation Review Button} formula above simply provides a link to the form if the {REVIEWS} field is empty (meaning there is no form already submitted).

Let me know if you foresee any problems with this as it appears to work in preview mode.

That looks good Ben! I think you did it!

The formula is well written :ok_hand:

Tell me if it works live

@Ben to be fair haven’t thought about a solution yet. e.g. I think something in a form itself to become disabled once submitted…

Sounds good!

Perfect! Happy to help!