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.
Submission based pricingAsked by pdv2001 on December 16, 2013 at 02:37 PM
I want to create a form to allow artists to submit artworks for juried shows. The artists should be able to submit (for example) 5 pieces with uploaded images and descriptions of each piece. That's simple enough, however, there is a cost associated with such a submission typically based on the number of entries. Is there anyway to calculate this cost based on the number of pieces submitted (rather than having the artist indicate the number of pieces in the pricing field?)
Thanks for contacting us. Unfortunately, that can not be done directly from the Form Builder. You are going to need to use the Full source code of the form and host it on your server. Then create a custom script to count the number of rows of the uploaded pieces and compute it against your base price.
If you need further help, feel free to post your follow up inquiries here. Thank you
Thanks for your quick response. Do you have any examples of such a script?
Thanks for replying. Would this example suits your specification?
Please try doing multiple uploads to test the scenario. Let us know if this is the one you want. Thank you
Great! That certainly appears to do the trick - many thanks.
A few questions:
1. As my form allows the user to enter a description with the uploaded piece I have merely duplicated the "upload" and "description" sections for how ever many submissions are allowed (and merely unhide each section as the previous is completed). Is it possible to adjust your script to count more than just one upload field?
2. How would I apply discounts (either if the submitter is a gallery member or, for example, a discounted rate on the 4th and 5th items)?
3. How do I implement what you have done.
Hello Pierre. Thanks for confirming this.
A. I thought you might say that. That is something I am currently testing earlier with multiple upload fields. Looks promising though more adjustments needed. A sample form from you that reflects your actual scenario would be helpful on the adjustment.
B. You can make pre-defined discount codes from the Payment fields. Click the "Wand" icon from the Payment field and the Payment Wizard should popup. Click Next a few times until you reach the Coupon section and add a Coupon.
The image below shows what the Coupon can do. As you can see, there is really no option to add a discount rate on specific quanitity for specific products like 4th and 5th items. What you can only do is to add a discount on Order Total and by Specific Product items not by quantities or sub categories.
C. To implement, this instructions are based on the sample form:
1. Copy the full source embed code of the form(no need to download the files) and paste it on a blank HTML file and save it somewhere on your computer.
2. Download the uploadSubPrice.js and place it on the same directory of the created HTML file.
3. Modify the HTML file and place this line near the CSS stylesheets:
4. Find and disable the quantity textbox of the Product by adding disabled='true'. This should prevent the users to edit the quantity.
5. Paste this at the end of the form:
input_5_quantity_1001_0 = ID of Quantity textbox
input_5_1001 = ID of the radio button of the Product
input_2 = ID of the submit button
6. Finally, save the html file and host it on your server along with the uploadSubPrice.js.
After you have finished your final form, please let us know. So that we can guide you further with specific instruction for your form. Feel free to post your followup inquiries. Thank you
I am truly amazed at how responsive you are - many thanks!
As to your request for a sample form: I have actually created 3 test forms
(trying to work around not being able to calculate a price based on the
number of submissions - before you created your innovative solution):
- http://www.thebrush.org/Exhibitions/Test/CCCSubmissionForm-2.htm (This
is pretty much the original form that only shows the space for subsequent
artworks once the previous image has been uploaded)
- http://www.thebrush.org/Exhibitions/Test/CCCSubmissionForm-3.htm (This
asks the submitter to specify how many pieces he/she will be submitting and
displays the appropriate number of artwork "slots")
- http://www.thebrush.org/Exhibitions/Test/CCCSubmissionForm-4.htm (This
does the same but is based on a pricing calculation)
In regards to your detailed instructions (once again, thanks):
1. 1. I presume uploadSubPrice.js is the script you created to
calculate the price?
1. 2. To what does Product refer in:
Find and disable the quantity textbox of the Product by adding
*disabled='true'*. This should prevent the users to edit the quantity.
1. 3. To what does Quantity refer in:
*input_5_quantity_1001_0* = ID of Quantity textbox
You are welcome and thanks for replying back. It is great to know that we are on the right direction.
I have reviewed your 3 sample forms. What caught my attention is that, would the artwork dimensions is included on the pricing? or is it a flat $45 entry fee only per each entry?
1. 1. I presume uploadSubPrice.js is the script you created to calculate the price?
Yes all the functions to make the custom script work are allo located on uploadSubPrice.js which at the moment will only work on a form with 1-multiple upload field and 1-Payment field with 1-product with a custom quantity. I will still need to make adjustments to accomodate your form structure based on the 3 samples you just gave.
1. 2. To what does Product refer in:
The only Product on my demo form is on the Payment field. This product has the label of "Each piece entry costs" which can be similar to your Artwork Entry Fee and that is the only product I see on your sample form.
This Product "Each piece entry costs" has an ID of input_5_1001
Are you planning to add different products that are not related to the artwork? Please let me know so that I can have a better understanding on your goal.
1. 3. To what does Quantity refer in:
The quantity textbox is tied to the single product on my previous demo form. That quantity textbox has an ID of input_5_quantity_1001_0 on my form. Yours could be different ID if you try to replicate my form.
To be able to get the ID of any field built by JotForm open your form on either Firefox or Chrome and right click to any field and click the Inspect Element(Q). This will open the Inspector Tool that will jump and focus on the chosen element on the webpage
As you can see from your 3rd form http://www.thebrush.org/Exhibitions/Test/CCCSubmissionForm-4.htm your ID for the quantity textbox of your only product is input_91_quantity_1006_0 as shown on the image
Please allow me some time to make adjustments on the custom script and I will provide you a demo form based on your 3 samples as soon as I can. Thank you
Thanks for your usual fast and detailed response.
In answer to your questions:
1. The entry cost is determined solely by the number of artworks submitted
(possibly discounted if the artist is a member and also with possible
discounts for more than, say, 3 artworks).
2. Currently (and for the foreseeable future) the only submissions will be
artworks (each consisting of one or more images and associated descriptions
as per my examples). I guess each artwork could be considered a separate
product or a "quantity" of the same product and one only need count one of
the artwork "entities" (e.g. the first uploaded image for each artwork or
the title) to determine the number of artworks submitted.
Thank you for the "Inspect Element(Q)" tip!
My colleague will get back to you with this as soon as he can. He is not around as of the moment. I am trying to understand the main request, but it's hard for me to catch up , might due to possible additional request so I'll pass this to Ardy, the one who provided you this excellent workaround.
Hello, I apologize for the delayed response. I have now a new demo form based on the samples you gave me. Most of the idea are taken from your CCCSubmissionForm-4.htm sample.
Here is the latest demo. I am not sure I am still on the right direction. You may also try to fill up the whole form with your real email to receive the Notification sample template and Autoresponder Sample template.
I have also put Main Artwork View textboxes on each Artwork Form Collapse sections.
Please see Illustration here
I needed to do this to get each uploaded filename from the Multiple File Uploader. As we all know, that the Multiple File uploader will return a complete list of file names when you receive it on Notifications and no way to separate into individual file links.
Anyhow, please confirm if this is the one you want to achieve. Thank you.
Thanks for continuing to work on this but I'm afraid I feel your latest
will be far too confusing especially for people who do not have a technical
I see 3 alternatives for consideration and I list them in order of
1. Use my first example (
modify the uploadSubPrice.js script such that it counts the 5 (or however
many) separate "main" uploads and uses this count to determine the price.
2. As in my second example (
http://www.thebrush.org/Exhibitions/Test/CCCSubmissionForm-3.htm ), allow
the user to enter the number of artworks being submitted and then use this
number to display the appropriate number of fields and calculate the price
at the end.
3. As in my third example (
the user to select the quantity of artwork products in a pricing field and,
as above, use this to calculate the price (at the top) and display the
appropriate number of fields. I think this actually works with the existing
functionality but would prefer either of the 2 preceding solutions.