Handling long forms (lots of fields)

What are the options in Knack for handling long data-entry forms? For example, in a typical app that I build, there’s a Persons table that will at a minimum have these fields:

  1. Name
  2. Sex
  3. DOB
  4. SSN
  5. Address 1 (home)
  6. Address 2 (work or alt)
  7. Phone info (typically three or four different phone numbers)
  8. Email address (typically two)
  9. Record Status (like Active/Inactive, sometimes different)
  10. Occupation
  11. A basic memo field, sometimes used as a brief description of the person
  12. Photo or photos
  13. Religion (sometimes)

And that’s just for starters. Often it goes on from there so there’s two or three times as many more fields. In some of the platforms I’ve worked with it’s possible to design data-entry forms that have multiple tabs or pages. I can’t quite see how to do that in Knack though. Am I missing something? Or do people just build forms that require a lot of scrolling?

Hey @WilliamPorter - check out:

Plus another adaptation on this so you can navigate around the pages. In my version you create the record and then edit:

Multi Part Forms - Knack Database

1 Like

Basically what Carl said. This image is from a multi “step” Edit form (several pages):

These two are modal Time details. I use an action link (in the red frame) to jump between them.


1 Like

William, you can do multi-part forms as described in other replies or you can get creative with your form design. I have developed several Knack databases, some having some rather large forms - large number of input fields. In these cases, I group fields into logical sections. The layout of each section can be different - having 1-3 columns. Then I use CSS to apply boxes (lines or background shading) to help break up the form and make it easier to follow.

Note that with the new builder, they took groups away from forms. However, I recently had to update an App and found a way to make it group - Place the first field of each group on a new line. Then you can drag fields to the right of each of those to create more columns in that group. Then you can drag other fields and place them underneath each of those in the first row of every group.

Then you can use CSS like the following to make it pretty:

#view_3013 > form > ul:nth-child(n), #view_2967 > form > ul:nth-child(n) {
background-color: #e9ebec;
border-radius: 5px;
border: solid 1px #dddfe2;
padding: 5px 10px 5px 10px;
width: 100%;
margin-bottom: 15px !important;
}

Hi Mike,

We didn’t remove groups, but changed how they work (as you indicated in your solution). :smile:

Steve,
When you first released the new builder, I asked about this feature because I use it alot. I was told it was removed and engineering was looking into it. I believe I actually put this out on the feature request awhile back. I never received any further update. Had I not accidentally discovered how I could make it work, I still wouldn’t have known. It still doesn’t work exactly like groups from a building a form perspective, i.e. you can’t grab a group and move it around. But I am happy to know it can work with a little patience because as I said I use this capability alot to make forms easier to follow for the client.

Thanks,

Mike,

I don’t understand your solution. Are you talking forms, details or both?

I can create 3 columns in a form but I can’t “group” stuff.

e.g. for a Form:
Line 1: 3 columns
Line 2: 1 column
Line 3: Can be 1 column but not 2 or 3.

Where am I going wrong?

Peter,
I was talking about forms, but I assume it may apply to detail views also.

G = group
R = row
C = Column

G1R1C1 G1R1C2 G1R1C3
G1R2C1 G1R2C2 G1R2C3

G2R1C1 G2R1C2
G2R2C1 G2R2C2

G3R1C1

G4R1C1 G4R1C2

Given this grouping, place the following fields on a new row : G1R1C1, G2R1C1, G3R1C1, G4R1C1
At this point you have 4 rows, each with one field.
Now place G1R1C2 to the right of G1R1C1, then G1R1C3 to the right of G1R1C2.
Now you can place G1R2C1 under G1R1C1 (make sure you are only under G1R1C1 and not the whole row). Repeat for G1R2C2 and G1R2C3.

Now repeat this process for the remaining fields in the other groups.

Once you have established the groups, you can move items around within the group (or delete and add to another group).

Hope this helps.

Okay Mike,

I figured it out. I had to watch Daniel’s video again located on this page:
Video

Thanks