Stefan Cameron on Forms
Building intelligent forms using Adobe LiveCycle Designer

New Form Design Best-Practices Blog

John Brinkman, a colleague of mine at Adobe and the LiveCycle Forms Architect no less, has decided to start a new blog on form design. It looks like he will be concentrating on on best-practices relating to form design and scripts based on past experience with forms from various customers (in other words, based on real-world forms).

Hi first post relates to exclusion group-like functionality using any type (or combination) of fields in a subform where each field is treated as a mutually-exclusive radio button. Check it out, it works very nicely!


Posted by Stefan Cameron on October 15th, 2008
Filed under Designer,Events,Scripting,Tutorials
Both comments and pings are currently closed.

3 Responses to “New Form Design Best-Practices Blog”

  1. wht.rbt on October 15th, 2008

    Hi Stefan,

    I’ve been reading your blog for a while – I have been using LiveCycle at work for a form that guides staff through a phone interview, and the contents entered become a (slightly different) printed version to be sent to the interviewee. I’ve found LiveCycle very quirky to use, and got a lot of unexpected results – but your articles have explained a lot of the reasons behind these!

    I’m currently wondering about the best way to implement numbered sections into this interview form.
    Depending on the interviewee’s answers, different numbered sections (i.e. 1.1, 1.2, 1.3, 2.1, 3.1, 3.2) will be shown/hidden from the form.

    I originally wanted each section to have a consistent number, so that the final form might be hiding 1.2 and 3.2.
    For compliance reasons however, it will need these numbers to be automatically updated – so that if 1.2 is hidden, 1.3 is renumbered as 1.2.

    The form has about 50 sections.

    Any advice about achieving this would be much appreciated! :)

  2. Stefan Cameron on October 19th, 2008

    wht.rbt,

    I can think of two ways you could do this:

    1. Create a script object and define a function in it that loops through all the sections, looking for ones that are visible. In those sections, the section number will be a field. As the script finds visible sections, it sets the value of the section number field to the next in the sequence of 1.1, 1.2, …, 3.4, 3.5… You then call this script object function from all the fields in your form which could affect the presence of a section after their values are set (you would likely call the function from the field’s Exit event).
    2. A slightly more efficient way to do this would be to make the script object function able to pick-up in the middle of the sequence so that you only need to loop through all sections after the one that was hidden in order to decrease their numbers by 1…
  3. wht.rbt on October 22nd, 2008

    Thanks for the advice Stefan!
    I’ll see how I go. :)