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 can I create a number of partially pre-filled versions of a form?Asked by dafyddciaff on May 01, 2016 at 06:07 AM
Hi, I love JotForm! I am trying to use it for agreeing terms and conditions with musical artists at my festival. What I'd really like to do is partially complete a form (with certain important details like their name and the amount we are paying them) so that the artist cannot modify those fields. In order to achieve this, I have created a "gold" template (not actually using JotForms templates) and am cloning my forms from this gold version.
Unfortunately, that leaves me with ~20 separate forms, each of which has its own single submission. I was wondering if there was a neater way to do this. For example, the ability to create a "variant" of the form with certain fields pre-populated and made read-only.
Help with this problem would be gratefully received! :)
pre-filled prepopulate read only populate embed
We support URL prepopulation. Here's our guide for that: https://www.jotform.com/help/71-Prepopulating-fields-to-your-JotForm-via-URL-parameters. To easily populate the fields, you can use the prepopulate app: http://prepopulate.jotform.io/.
For making the field as read only, you have to set that in the field properties:
Thanks, this is great, but it seems like it would be easy to modify the URL
to change one of the form fields, which sort of misses the point. We don't
want artists to change the fee they are being paid, for example! Is there
any way to send someone a URL to a partially filled form where they can't
change the fields we want to lock down?
Unfortunately, our only way to prepopulate fields right now is through the URL parameter. However, if you embedded this form on a webpage, you can use the URL parameter. For example, if you embed this iframe:
<iframe id="JotFormIFrame" onload="window.parent.scrollTo(0,0)" allowtransparency="true" src="https://form.jotform.com/61153501035946?company27=JotForm" frameborder="0" style="width:100%; height:1553px !important; border:none;" scrolling="yes"> </iframe>
If you do this the users will not be able to see it or edit it in the address bar. The only URL they'll see is the webpage URL.
Hope that helps. Thank you.
That is an *excellent* reply. Thank you kindly!
May I suggest a feature request whereby you can generate a link containing
an encoded token (it could be base64-encoded JSON, for example) that will
tell the server which fields to pre-populate?
On behalf of my colleague, you are welcome.
We will surely send a feature request to our backend team but before we can do that we would like to understand your requirement a bit more in details.
Do you mean to say that you want to generate a form URL with encoded token? When the encoded token is decoded, it shows the key/value pair on which form fields needs to be populated?
Please confirm on this and we will forward it to our backend team.
We will wait for your response.
Yes, that's exactly what I mean. That seems like it might be the easiest
way of transmitting field pre-population information without it being easy
to change the data on the form.
If there is a security concern, a signed token can be generated using a
private key, that could ensure that the token had not been tampered with.
We do something similar with our product at the place where I work.
Thanks for doing this!
I have moved your feature request to a new thread so that we can address this separately: https://www.jotform.com/answers/830893