What is JotForm?
JotForm is a free online form builder which helps you create online forms without writing a single line of code. No sign-up required.
At JotForm, we want to make sure that you’re getting the online form builder help that you need. Our friendly customer support team is available 24/7.
We believe that if one user has a question, there could be more users who may have the same question. This is why many of our support forum threads are public and available to be searched and viewed. If you’d like help immediately, feel free to search for a similar question, or submit your question or concern.
How to disable fields in an Approval Form edit mode?Asked by grade4pagasa on July 24, 2016 at 12:00 PM
Is there a way to disable editing the user's submission content by the assigned Approver(s) in an Approval Workflow Process?
Meaning: can the Approvers edit the submission entry that is intended only for them - to either approve or reject - and prevent them from further editing the originally submitted user info?
Sort of like in a pen and paper bank loan - the written info by the loan applicant cannot be changed by the loan approver - and can only approve or reject and make additional remarks.
This is based on the workflow given by JFSupport Kiran in this thread.
Yes, there is a workaround that will disable specific fields during edit mode. That workaround also lets you show/hide fields in edit mode.
First, you will be needing two additional widgets and one additional textbox field in your form. Please note that these fields should not show on your form.
Widget 1 - Get Form Page URL widget - this will help you determine the URL of the page so you will be able to know if the form is loaded through an edit link or not. This widget is automatically hidden on the form.
Widget 2 - DateTime Single widget - since this widget is filled every time the form is being loaded, it will help you get the value of the Get Form Page URL widget to the additional field that you will also add to your form. You need to hide this widget on the form with the help of CSS codes injected in its Custom CSS tab.
Textbox field - you need this to hold the value of the Get Form Page URL widget that will only be passed if the DateTime Single widget is filled during form load. You will learn how to create conditions for that later. This field is also set as hidden on the form. You will label this field "Current URL".
Once you've added those three, you can now set the conditions.
You will be needing these three specific conditional logics to make this work.
Note: Please be noted that when a form is loaded from an edit link, its URL starts with https://www.jotform.com/edit/. And that's the value that you need for the condition rules that you will be creating later.
First Condition: If "DateTime" widget is filled, copy the value of the "Get Page URL" widget to the "Current URL" textbox field.
Second Condition: If "Current URL" textbox field has a value that starts with "https://www.jotform.com/edit/", disable all the fields that are intended to be filled by your form submitters only.
Note: The next two conditions are optional because it was not clearly mentioned in your requirements and, I believe, what you want is for the supervisor to enter a correct code so the fields where he/she will enter the approval details will show - base on the workaround given by my colleague, Kiran, on this thread.
The following conditions will let you hide the fields unnecessary for the form submitters to see if the form is not in edit mode.
If you have noticed in one of my screenshots above, I have two submit buttons. The first one, the one that has the "Clear Form" button is intended to be used only by the form submitters so they will have a way to clear the form if needed be and the one that does not have the "Clear Form" button is to be used by the one who will approve or decline the request.
Third Condition(optional): If "Current URL" textbox field doesn't start with "https://www.jotform.com/edit/", hide multiple fields - "Approve or Decline" radio button field, "Approved or Declined by" textbox field, "Remarks" text field, and Submit button (without Clear Form button).
The condition above will hide multiple fields - "Approve or Decline" radio button field, "Approved or Declined by" textbox field, "Remarks" text field, and Submit button (without Clear Form button) since these fields, I believe, should not show on the form when it is being filled by your submitters.
Then, the condition below, however, will hide the Submit button(with Clear Form button), when the form is in edit mode so that the one approving or declining the request has no way of clearing the originally submitted form.
Fourth Condition: If "Current URL" textbox field starts with "https://www.jotform.com/edit/", hide Submit button(with Clear Form button).
Once you've done all that, you just need to hide the fields that are unnecessary to show on your form. These are the DateTime Single widget and the Current URL textbox field.
You can hide the "Current URL" textbox field through its properties, however, that doesn't seem to work in edit mode. So instead of doing that, I suggest you add the CSS codes below to your form.
display: none !important;
You will also do the same to hide the "DateTime Single" widget.
display: none !important;
Where "#id_12" is the form-line ID of the "Current URL" textbox field and "#id_13" is the form-line ID of the "DateTime Single" widget.
Here's the link to the form that I have used for testing:
Here's that form in edit mode after a test submission.
Please feel free to clone it so you can examine it.
If you have questions with any of the instructions given above, please feel free to get back to us and let us know.
Please make sure this commendation reaches JF Support Manager Jeanette & Founder and CEO Aytekin.
I would like to commend you for such an awesome job, Mike_G! Thanks for going above and beyond the expected support and for providing a solution for a complex setup.
The steps you gave are very thorough and you even provided a working demo that I could play with and even clone (instead of just simply explaining the entire process). And you're not just thorough, you've broken it down into intuitive segments and responded as if you're talking to me as a non-coder (which I am, and so is a big chunk of your users) - to this I'm truly impressed. I understood all of what you instructed and will be using the procedure you gave for a pro bono project.
To fellow JotForm users who's reading this:
I only have a free account with JotForm. Yet they still respond in a timely fashion, very helpful and knowledgeable and courteous. Even as a free user I feel taken care of and valued.
For this thread, I will rate you (Mike_G) as follows:
JotForm Support Manager
Let me start by saying this: Here at Jotform, we do not make difference between paid and free users, all of our users are valuable for us. That is why you could get such a great answer from Mike_G and I am so pleased to read your cheerful feedback and rate for him. Mike_G is indeed a top notch support representative, and someone I am very proud of.
Since the beginning, he showed to us that he could be a valuable member in the team, and I can confirm by seeing the awesome workaround he has provided to you, and that this is just another great customer service experience he created, something you can expect from him on most of the answers he provides.
Due to his great performance, Mike got an increase just recently and this feedback will actually put him again on the list of our top performers who deserve a bonus and could be considered for another position in the near future.
Thank you very much for taking the time to leave for me and Aytekin your great feedback to Mike, I can see you are another Jotform Raving Fan, which we really appreciate!
Apologies for the misunderstanding. I forgot to finish my sentence with a clincher. When I wrote that I have a free account and yet receiving great customer service from you guys - that was a compliment - unlike in other web services ;)
Again, kudos to Mike_G and more power !
We appreciate your feedback and clarification, every feedback is valuable to us.
On behalf of Mike, thank you!