Hi All,
I see that this question has been asked a lot - can you block or restrict personal emails/ISPs from filling out forms? In my investigations the answer is yes...great, but can I do this on the template level of the form or landing page so I don't have to place code on each and every landing page?
TIA!
either is fine.
Thanks Josh.
How would I do this? This article (http://developers.marketo.com/blog/restrict-free-email-domains-on-form-fill-out/) doesn't seem to explain how to add to the design studio landing page templates.
thanks:)
Like Josh said, in the template works fine.
I recommend packaging all forms behaviors into external JS files, so then they can be shared across templates as well as across LPs.
Thanks Sanford. Is there any documentation on how to do this? I'm fairly new to JS.
Add a <script> tag referencing the external file:
<script type="text/javascript" src="https://somewhere.example.com/path/to/js/file.js"></script>
Since behaviors always reference MktoForms2, the behaviors script needs to run after /forms2.min.js, which creates the MktoForms2 object. Since Marketo-hosted LPs automatically insert /forms2.min.js in the HTML for you, the easiest way to make sure of the right order is to put your behavior <script> right before the closing </body> tag. (There are other ways to manage the dependencies but I imagine this will be easiest for you.)
If anyone is having issue using the javascript that this article (https://nation.marketo.com/external-link.jspa?url=http%3A%2F%2Fdevelopers.marketo.com%2Fblog%2Frestr... ) provides, try swapping out the onValidate function with the onSubmit function.
My colleague and I discovered that the onValidate function can often times be buggy.
Good luck everyone!
Hoi
I strongly disagree with this blanket recommendation. These are different steps in the form flow and moving callbacks around like this can be disastrous.
Please explain in detail the behavior you believe to be buggy and how to reproduce it. I've been developing with the Forms API for years, including with a commercial product, and onValidate has always worked predictably.
It wasn't a blanket recommendation but something to try if you find your javascript not working.
We placed the script at the bottom. The javascript executed every other function properly. It was only when we swapped out onValidate with onSubmit that we got back the expected result.
Again, definitely consider other ramifications of swapping the two functions. But for us, we got what we needed by swapping onValidate with onSubmit.
Show me your page with that code.