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.
Uncaught Error: prototype.js is required by protoplus.jsAsked by SixPlus on March 09, 2016 at 01:36 PM
I have downloaded the source code for my jotform so I can integrate it with my single page application using Angular (I can't use the iframe method because I need complete control over the form's html and so I can run custom analytics). Because this is a single page application, I only want Jotform's code to run when the user visits the specific page that the form is hosted on. So, when a user visits this page, the scripts sometimes load improperly. Here I've used jquery (i aliased it as $j because of the Prototype conflict):
Some of the time (like maybe 50-60% of the time), I get these errors:
Uncaught Error: prototype.js is required by protoplus.js. Go to prototypejs.org and download lates version.(anonymous function) @ jotform.forms.js?3.3.11814&_=1457547702283:3
Uncaught TypeError: Cannot read property 'setConditions' of undefined
jQuery should only be entering the .done function once all those scripts are retrieved. Can you help me make sense of this error
I assume that the error means that https://cdn.jotfor.ms/static/prototype.forms.js script is not loaded right, or the $ variable is still controlled by jQuery.
We had some issues with our CDN links today. It should be resolved, so can you please check if the errors are still there on your side?
I've been getting this error ever since I began using the full source code, and I still am getting it (happened once in the last 4 times I refreshed the page). I'm also running $.noConflict() before initializing any of the scripts
It seems like a completely unsustainable solution to throw a bunch of globals into people's code and hope that it meshes with their codebase, particularly when it conflicts with the most widely used front-end library. Is there no comprehensive solution to modularizing the Jotform code so that it does not pollute the global namespace while also making sure that users can control its functionality in the context of a single page application?
After some research, it appears that the issue is related to the asynchronous nature of the jQuery's getScript(). You may try options described in the following stackoverflow threads to see if that helps.
Unfortunately, we do not provide any other form source code solutions at this time. The Prototype JS has been used for many at JotForm, and it was originally selected as a best tool available back then.