How do I create a custom form?

If you’re using a custom form, then you have all the entered values in user specific columns, right?
So what’s stopping you from using those in your web hook?

1 Like

Thanks @Darren_Murphy & @ThinhDinh - I deleted my previous response saying this works. In actually implementing this the problem I’ve run into is that for my text message I’ve got it in a template, and that template (for it to read to a user properly) requires a few additional fields (such as the name of the item in the previous screen, etc) that I can’t get into that first row of a custom button, but rather get placed into the new row upon clicking the compound action (add row) button.

I’m sure there’s a simple fix, but we need more information. Some screenshots, a video, and/or a copyable version of your app.

I would use a set column action before you navigate to the screen of the custom form. What extra fields do you need?

1 Like

Hey,
I am trying to create a booking app.
In this booking app, I want to enable hosts to upload their retreats.

What I would like to have is a custom form that is already prefilled with dummies (i.e. pictures and generic texts) and the host then uploads/(overwrites it with) their data. In the end, only the host should be able to change their retreat (so it needs to be user specific).

Has anyone here an idea on how I could achieve this?

I do the following a lot, with images in the user profile for instance:

  1. Basic / Image_Submit
  2. Generate image column (mesh or triangle) / Image_Default
  3. ITE column / If Image_Submit is empty then Image_Default else Image_Submit

@Robert_Petitto has a more advanced version than this on creating fun default avatars using the color palette column.

Boring avatars

I use this technique (single relation to a working table/edit to working table) with a button bar for ADD/CANCEL and one action for both of these is clean-up (e.g. “remove this item” for the working table) before returning to previous screen.

One issue is the back button at the top of the screen. If the user clicks on it; no clean-up.

Can an action be attached to this navigation item at the top of the screen?

TIA

No, I would love that too but it’s not possible as of now.

You can hide Glide’s back button using the CSS code below (warning: it doesn’t hide the native back button on Android).

<pre><span><style>

[data-test="back-button"] {
display: none;
}

You can construct a floating back button to clear the columns as you want.

However, when I do custom forms, I just keep the inputs as long as the user has not submitted. It acts as some kind of a savable form where you can go back to other screens and go in later to continue filling the form.

Can you explain why you need them to be cleared?

1 Like

One approach is to hide the back button, as Thinh described.
Another approach (and one I normally use instead) is to do your clean up on the way into the form. So if there are user specific columns that need to be cleared or set, do this as part of the action that opens the custom form screen. I like this approach better, as then you can leave the back button as it is.

2 Likes

I have created a custom form but on filling up the form, the tables (GlideTable) is not getting updated. Please help

Two questions:

  1. Are you using User Specific Columns to hold the values from your input components?
  2. Do you have an Add Row action attached to your submit button?
1 Like

While there are no user specific columns, there is an add row action attached to the submit button of the form.

Can you record the problem in a video? Thank you.

1 Like

Present issue aside, if you have more than one user of your app then this will cause you problems.

1 Like

How do I avoid that? I intend to have several user groups / users. Is Glideapps not suitable for this functionality?

Glide is suitable for multiple users, but to build out a custom form, you’ll want to use user specific columns…otherwise, as one user fills out the form, other users will see their entries. You want each user to have unique inputs.

3 Likes

I want each users inputs to be visible to the others. Since the workflow involves sequential activities and not parallel activities, simultaneous editing would be unlikely.

The problem seems to be fixed right now - I did nothing. Did the GlideTeam do something at the backend?

I suspect you will still be better off with user specific columns. Once the form is submitted and a new row is added, the data in that row should be visible to all users, unless you’re deliberately filtering it or applying row owners.

The only reason to not use user specific columns would be if you have multiple sequential users working on the same form without actually submitting. But I think that’s unlikely? (And could get horribly messy if that’s truly what is intended).

Hi Darren

The requirement is that the input from a particular user should be visible to the user group to which that user belongs. I am using the Filter option to make that happen and am thus not using User specific columns.

However, I am not using the application such that multiple users are filing in a form simultaneously without submitting the form. The flow is a user fills and submits the form with the first set of details. Another user EDITs that same entry when a sequential activity completes and submits. I have used conditions on visibility to ensure that the sequence of activities are adhered to.

Hi @Darren_Murphy,
It’s me again :wave:
I always find myself coming back to this post, or others based on this.
On one hand, the concept of a Custom Form is so deeply imbedded in many of my apps. They allow the benefits/advantages you mentioned above, and so much more.
On the other hand, relying on these “New Screens” is creating a huge challenge: how to allow users to edit?
If we enable the native Edit function by Glide, we lose all the a.m. benefits. To retain these benefits, we basically need to create another New Screen. It is true that this newer New Screen will inherit fields from the data inputted based on the older (original?) New Screen, but how do we validate the new inputs/edits?
Not sure if I have explained myself well enough and also not sure if this isn’t a topic that has already been addressed. I couldn’t find anything on other posts. At least not anything directly solving this edit issue.
Would be grateful to hear your thoughts.
Thanks

PS - Indirectly connected is the issue of logging these changes. I’ve addressed it in this post.