BUG: Form dynamic select field not fetching from database

  • Goal: I want my select field to dynamically get values from a database, but it isn't connecting properly

  • Steps:

  1. Create a Retool form
  2. Create a select field
  3. Set it to get options dynamically from a Retool database
  4. See issue (screenshot 1)
  • Details: This was and still is working fine in my old forms (though sometimes I had to keep refreshing to get the options to stick), but for new forms and new select fields, I am no longer able to set the options dynamically

  • Screenshots:

1 Like

Hey, grace_cuevas,

Could you provide more information on how you are mapping your information on the select component? I've made a test myself and seems to be working fine. If you add the proper column on the content section, it will show the options on selection.

1 Like

@Bruna_Tourinho that's for an app form component. This issue is for the Retool Forms product (which is different from an app). Sorry if this was unclear!

Hi, @grace_cuevas

Ok. I am seeing the same thing as you. This seems a bug actually.

It doesn't show the options even when published.

image

Maybe @Tess could help?

Hi @grace_cuevas,
This is in fact a bug in the current Retool Form. :frowning_face: Until it gets fixed, I would recommend using a Retool App and using the form component inside the app. Here the options will dynamically update from your database.

Any update on when this will be fixed please? It seems radio groups, listcontrols and any dynamic lookups are also broken.

I was curious to use Forms as a lightweight alternative for enquries / data entry, as Retool Apps seem to have a minimum 14MB payload on first visit. But it doesn't seem like Forms are an important feature for retool.

Without basic lookups to populate linked information Forms are pretty useless. I also don't see immediately how you can set one column to be the value and one column to be the label within select controls (i.e. id/name pairs) which is a basic use-case surely?

1 Like

Sorry @AMitch ,
We are tracking feedback on this bug, but unfortunately it isn't something that the team is currently able to prioritize. The Retool Forms product is relatively new compared to forms in Retool apps, which is why certain features are better supported in Retool apps. So Retool apps remains a more robust alternative, despite the larger initial payload.

Ok, how can I use retool forms in an app without having to pay for a public access? Retool forms link is a good way to get external info, how can you do the same thing with retool apps?

You can make any Retool app public, as long as you are on the Business Cloud or Enterprise Cloud plans and the app doesn't have any resources with user authentication (A rest api with OAuth, for example). Unfortunately, we can't grant access to public apps on the Free Cloud and Team Cloud plans.

Hi Linda, how can I make a retool app public without having to embed it anywhere? I am trying to do a job application and dont have a place to embed it - just wanted a simple UI similar to the forms - is it possible to create an app, set to public and just share the link?

I upgraded for my client - but now facing this issue - on my desktop editor i built this public job application

On the phone where applicants will apply it is showing up in a different order, where first name text input is showing before the select job input

Also the mobile experience doesn't feel optimized. What should I do?

@Hussein_Ahmed ,
Can you please send me the exported JSON file for your app? You can export it like this:

Thanks!

Hi Linda,

I wanted to share an update on the issue with the form in our Retool app. I fixed the display problem during today’s office hours, but now I’ve run into a new challenge when submitting the form.

Here’s what’s happening: I have a SQL query that saves the form data into my Supabase “applicants” table. When I fill out the form on a web app (like on my computer), it works perfectly—the data gets saved to the table as expected. But when I use the Safari browser on my iPhone to fill out the same form, it doesn’t work the same way. For the text input fields (like first name, last name, address, etc.), the table shows “EMPTY” instead of the data I entered. However, for other types of fields—like dropdowns, toggles, or the file upload—they save correctly, even on my iPhone.

So, the issue seems to be specific to text input fields when using Safari on my iPhone. Let me know if you have any ideas on how to fix this!


Job application.json (44.1 KB)

@Hussein_Ahmed,
I reproduced your bug and have a workaround. What is happening on mobile is a race condition where, when you hit submit, you run your first query, but then all the data in the form gets cleared before you run the success event handler from your query.

So if you just uncheck the "Reset after successful submit" checkbox on the form component, that should work. You can manually clear the form with a js query after success of your other queries:

maverickPoolsJobApplication.clear()

https://lindawoo.retool.com/embedded/public/8fcba03c-48ea-43bd-b173-6792ed959764

Please let me know if this works for you. Meanwhile I will file a bug ticket.

1 Like

Hey Linda that worked! thank you and hoping this bug gets fixed soon.

@grace_cuevas and @Bruna_Tourinho,
I am happy to report that the Forms have been fixed and you can now dynamically set your options in your select component. This is on the latest Cloud release.

3 Likes