Posts

Showing posts from January, 2019

Effective Form Design

Image
Following from my previous blog, I have been considering the design of my form. I read this article  on the this topic that I had come across previously and saved for later reference. To my horror I realised I had fallen into some bad design habits that ultimately make forms less intuitive and user friendly. This was my previous design: It is a newsletter sign up for that appears as a footer. I'll be honest that I hadn't spent a lot of thought into the design (aside from a handwriting style font). Placeholders vs Labels -   So, it turn out using placeholders instead of labels in an attempt to save space is actually a bad idea. This article explains why  Placeholders in Form Fields Are Harmful . Descriptive CTAs - Rather than a bland and uninformative 'Submit' button, inform users what they are doing! Indicating Required and Optional Fields - It is not usually necessary to have an asterisk (*) next to every field that is required (as most fields are, you

Eliminating Spam in Modx Forms

Image
I've been trying to find the optimal system for reducing the number of fake leads being generated in Salesforce. Salesforce has a useful tool for generating a Web-To-Lead form which was the template for what had been used on the site so far. There were also a bunch of inline script for form validation which would prevent the form from submitting if fields were not completed (using event.preventDefault()). I looked into Google's reCaptcha , which, with the latest v3, blocks spam submissions without adding any annoying test for the user. reCaptcha v3 eliminates the reCaptcha v2 element that requires users to tick a box before submission So, the goal is to create a Modx form that submits to Salesforce and supports reCaptcha v3. This turned into a three step process: 1. Using FormIt for form validation FormIt was already installed and in use in other places on the site. FormIt provides a simpler way to validate forms, rather than having the write JavaScript to check