Help needed with Text Entry component

Hi,
Need some help with the TEXT ENTRY component.
I am not sure if I am doing something wrong or not, but it is not working for me.
I am still new to Glide and still need to learn a lot.
So if you could tell it simply and maybe step by step, that would be great :slightly_smiling_face:

I am a volunteer for a small group.
They had asked me to create an app, where people can leave a request.
In my sheet, I have a user table, so people can/need to login before they can leave a request.
I also have a request tab where I would like to put their name and the request they had submitted.
On the screen, I placed their name and under it, I placed the TEXT ENTRY component.
I also had placed a button under it, so they can submit their request.
The TEXT ENTRY I had set to a minimum of 0 and a max of 200
I also had it pointing to the request field in the sheet.
The first thing I noticed, that the text above the TEXT ENTRY is light grey.
I cannot see anything to make it darker.
The next thing is, I cannot type in the TEXT ENTRY.
No matter what I try to type there, nothing is shown.
For the button, I created my own action.
It is to create a new row, place the name and request in de correct fields, then play a sound and show the text that it was submitted.
I also had placed an IF condition on it. So when the request field is empty, it will show the message that they need to enter a request.
Right now, if I click the button, I am getting the message that the request field is empty. So that is working.
But I am unable to type anything in the TEXT ENTRY field.
I was thinking of maybe using the NOTE component, but that has the text “New Note”, or something like that, in it and I am not able to change that to “Enter Request”

The plan is also, that later when an “admin” logs in the app, he is able to see all the submitted requests.
I have some ideas on how to maybe get that to work.
But for now, I first want the part to submit a request, to work.

I hope someone can help me to get this to work.
Many thanks in advance for your help and time. :slightly_smiling_face:

First of all, I feel obligated to mention that you do have the option to use a native glide form, which I think would be a lot simpler in this case. What you are doing now is considered a custom form and takes some more manual setup to get it to work right. I like and sometimes prefer custom forms for various reason, but it’s all just a duplication of what a native form does already.

Back to your main issue. It sounds like you are using a details screen and you have created a custom form. The most likely reason that you can’t type into the text entry component is because your screen is not attached to any row at all. A homemade custom form requires an existing row to work, because as you enter values, you are directly filling the associated columns in the table for the current row that you are viewing. If your screen is not attached to an existing row, then there is nowhere for those entered values to go, and as a result, the entry components are grayed out.

  • To set it up properly, you must have a single existing row that the form will refer to. Your results, after you have submitted the form, are written somewhere else.
  • The entry components must refer to user specific columns. Otherwise, if multiple people are using the custom form at the same time, then they will be overwriting each other. A user specific column will isolate each user’s response.
  • Sometimes I like to have a single row table that is used specifically for the custom form. That table will never have more than one row. Sometimes, as an alternative, I like to use the user profile table as the source of my form, so each user will have their own row for the form to use as long as you properly filter your detail screen. You can use the same table that holds your form responses, but you still need to have a default row for the screen to work, but this can get you into trouble sometimes, so I try to avoid using the same table for my form entry columns and my form response columns.
  • When you submit your form, then it will call the actions, just like you already have set up, and the Add Row action should be taking those user specific columns and writing the values to basic non-user specific columns.
  • Ideally, your last action when you submit would be to clear the user specific columns, so they are empty the next time the user views that custom form. You can vary this by instead clearing the fields with an action when entering the form, but that depends on how and where you have your form screen.

Regarding the grey text above your text entry, you can always make that heading blank, and then use a Text component or Rich Text component for your entry component heading. That gives you some more freedom as far as formatting how the heading looks.

3 Likes

Jeff, wow. Thanks for this long and clear explanation. I thought i could just use the Text Component to make it easier. Because it would be handy and people could enter more then just one line of text. But maybe i need to rethink things. I will go through your points tomorrow again. I will let know how it went. Again Thanks

1 Like

Jeff,
I had done the following, but something strange is happening and I cannot figure out why.
I placed a form button that will open the form.
On that screen, it shows my user name and a field where I can input the request.
On the submit action, I created my own action.
Add a row, and there I say, to enter the user profile name, the request, and the current date/time
After hitting submit, I go back to the previous screen.
I can see the Form Button, and I had placed an inline list.
This shows the date (of entry) and the request.
The strange thing is, I also get an item, with the correct request, but no date.
If I go to my sheet, I have two entries.
One request with the name, request, and date. And one entry with only the name and request. But no date.
Any idea why every time I get a second entry that is missing a date?
One entry is enough.
Thanks in advance.

This is not needed. The form already writes a row for you so you don’t need an additional add row action for it.

This is because with the add row action, you did add the current date/time value, and in your “native form” row you didn’t have that special value.

Please delete your “on submit” add row action, and use the special value in the native form.

3 Likes

After a good sleep, I had the thought that maybe my “add row” was double and that the form already will add the new row.
Then I saw your reply and it confirmed it.
Now, I had removed the created action, but how do I set the current date and time in the submitted request?
I thought that maybe I could do it through the submit action “set column value”
So I had set the date to get the current date and time, but the date and time stay empty.
You mention using the special value in the native form. Where could I find this?

Update:
I just saw the component “Special Value”, “Current date/time”
I had just tried it and it is working.
Thank you :slightly_smiling_face:
Learned something again. :slightly_smiling_face:

1 Like

Yes, that is indeed the correct way. Have a nice day.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.