Forms and the Forms Designer are key to how services are delivered via your website. We're always working to make forms better, and recent platform updates (Update 900, Update 912 and Update 1000) have delivered around twenty new features and improvements, with more planned for the future. This article looks at some of the changes in a bit more detail and includes information on what we've got planned next.
You can find all of the up to date forms documentation in the Forms section. Look out for new knowledge base articles and completely redesigned examples in the coming months.
Your Feedback
We've recently collated around 100 suggestions for improvements and new features relating to forms. They have come via a range of channels, including the suggestions project, training sessions, the support team, and conversations with account and project managers. Your input is at the core of the improvements we are making, so if there is anything you'd like to see, let us know.
The Changes
Designing Forms
We've improved the way tracing and logging works in forms to help track down problems. You can now set trace levels (info, warn, error):
![Forms Tracing](/image/6033/Forms-Tracing/gi-responsive__100.png?lastModified=1637674563013)
which will appear in the API server console:
![API Server Console Tracing](/image/6034/API-Server-Console-Tracing/gi-responsive__100.png?lastModified=1637674634907)
The Blockly "Select Field" pop-up now sorts the pages in the actual page order rather than alphabetically:
![Select Field Modal](/image/6035/Select-Field-Modal/gi-responsive__100.png?lastModified=1637674960157)
Some of the default form settings have changed. Labels in forms are now top aligned by default (this is the position recommended by the GDS style guide) and the "Encoding" property has a new default value of "Auto" which detects whether or not the form includes a file upload field (so there's no need to switch between URL and multi-part encoding):
![Form Settings](/image/6036/Form-Settings/gi-responsive__100.png?lastModified=1637675184623)
Fields and Functions
You can now set the initial open/closed state of the accordion field using a JavaScript function:
![Accordion Function](/image/6037/Accordion-Function/gi-responsive__100.png?lastModified=1637675553457)
The text, text area, non-storing text, address lookup (postcode), number, password, list box, drop-down and date input fields now all support the HTML autocomplete attribute. You can pick a value from the autocomplete drop-down:
![Autocomplete](/image/6038/Autocomplete/gi-responsive__100.png?lastModified=1687774986397)
Which will be output in the page source, and may autocomplete the field with values suggested from the user's browser.
We've added a Blockly block for the
![Get Page Name](/image/5983/Get-Page-Name/gi-responsive__100.png?lastModified=1633689526603)
The drop-down and multi-select fields now refresh their values if the options change and type ahead is enabled.
New Tutorial Style
We're starting a project to rewrite all of our forms documentation. Rather than long articles and example forms on the site, the new content will have a more practical style, similar to the Code Labs published by Google.
The tutorials will start with forms you can download and import into your Forms Designer, then have step by step instructions you can follow. At the end of each exercise you'll have a working example of the functionality.
You can try out the first of the tutorials, covering showing and hiding fields, here: Using the Script Editor - Showing and Hiding Form Fields
Planned for the Future
We've got some more significant updates lined up for future releases.
The first will improve the look of form fields in the design area. We're planning to add icons so that different field types are easier to identify, highlight fields that have JavaScript functions, show the values of some field properties in the design area (so you don't have to select a field and inspect it via the toolbox) and indicate whether a field is used by the form, generated email, or both.
Lots of users have asked for a way to add internal documentation to a form, whether that's a brief description of what a form does, or detailed notes on particular field functions. We're going to add new properties that will hold documentation for the form, each of its pages, and each of the fields used.
And Finally
We're always working to make the platform, the tools it provides, and the websites it powers better. We can't do that without your input! You can talk to anyone at GOSS and they will always be happy to get your feedback to the right team.