How can I create a number of partially pre-filled versions of a form?

  • dafyddciaff
    Asked on May 1, 2016 at 6: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! :)

  • Welvin Support Team Lead
    Replied on May 1, 2016 at 10:28 AM

    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:

    How can I create a number of partially pre filled versions of a form? Image 1 Screenshot 20

  • dafyddciaff
    Replied on May 1, 2016 at 2:44 PM
    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?
    ...
  • Jan
    Replied on May 1, 2016 at 4:25 PM

    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" onDISABLEDload="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.

  • dafyddciaff
    Replied on May 2, 2016 at 8:44 AM
    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?
    ...
  • Ashwin JotForm Support
    Replied on May 2, 2016 at 10:25 AM

    Hello dafyddciaff,

    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.

    Thank you!

  • dafyddciaff
    Replied on May 2, 2016 at 11:44 AM
    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!

    ...
  • Ashwin JotForm Support
    Replied on May 2, 2016 at 1:01 PM

    Hello dafyddciaff,

    I have moved your feature request to a new thread so that we can address this separately:  https://www.jotform.com/answers/830893 

    Thank you!