Dynamic Inputs in Forms

I am building a large form for an inspection survey and this form has over 100 inputs in different sections. I have been building the form input by input but as I work with Bubble for longer I am realizing that maybe this would be better done in a repeating group. The issue I have is that for each question the input might be different, some are text inputs, some are dates and a few are dropdown or multi-select. Does anyone know a way of setting this up where the input would follow whatever the database type is for a specific field? So let’s say row 1 in the repeating group is a single line text input whereas row 2 the input would be a dropdown?

Thanks in advance,
George

Hi there, George… this suggestion may not be the best way to go about it, but it would work, so I didn’t think it could hurt to throw it out there.

I’m pretty sure you can’t tie a conditional to a field’s type, but you could add a custom field to the data type that defines what kind of input is required for each question. Then, you could add each of the possible elements to row 1 of the repeating group (make them not visible on page load), and you can show the appropriate element (i.e., make it visible) in each row based on a conditional that keys off of the aforementioned custom field.

Anyway, just food for thought, but maybe it can help you get down a path.

Hope this helps.

Best…
Mike

Hi @mikeloc, thank you for your suggestion! I thought about trying that out but then realized it would be tricky on the workflow side of things. When mapping the input to my “make changes to thing” action I have no clue how to choose only the element that is visible.

Thanks once again!

Ah, right… I was just focused on the elements and didn’t even think about the workflow. I’m guessing we could come up with something, but it would probably get way too convoluted/hacky in a blink!

IMHO, I wouldn’t use a repeating group unless absolutely necessary because it adds a lot of complexity if you are trying to make calculations and save data back to the database.

1 Like

Hi @ggogarten!

Try the following:

Database
Thing 1: Form (fields > title-text)
Thing 2: Entry (fields > form-form, title-text)
Thing 3: Field (fields > entry-entry, title-text, value-… varies depending on the input element)

UI
Repeating group with one long vertical cell accomodating the different inputs needed (all hidden but made visible upon conditions) … datepicker, input, multiline input, file uploader for images

Logic
The key to this setup is to create a dynamic form builder which will use a templated form entry with fields for each form that you want to have. Inspections entries will be copied (thus created) everytime a new actual inspection entry will be created. All visible inputs should bind their data to the dB … this way you avoid the need for complex logic

I am building an inspections SAAS with this functionality using Bubble > https://newqontroles.bubbleapps.io/version-test/



3 Likes

This topic was automatically closed after 70 days. New replies are no longer allowed.