How can I create user definable groups with embedded user elements?

  • Profile Image
    Asked on March 02, 2016 at 06:42 PM

    I have a dynamic form required for a school - the person filling it out will be looking to provide information on school of study, for example:

    -------------- Section for each School ----------

    School: [Music]  <-- user completes text input name of school, in this case "Music"

    Course: [Music 1]  <---- user completes text input for first course "Music 1" 

    Course: [Music 2] <---- user completes text input for first course "Music 2"

    [Add another Course] <-- they have an option to ADD additional text fields supporting a variable number of courses 


    [Add another School] <-- they have an option to ADD an additional SECTION for another school, that section would also support a dynamic number of courses.



    Each person using the form would have an unknown/variable number of schools and courses per school.

    I see you have some useful PLUGins but I could NOT figure out how to use/organize them to achieve this??

  • Profile Image
    Answered on March 02, 2016 at 10:42 PM

    You can use the Infinite List widget for your form so that you can add as much school and courses as possible.

    To add a widget to your form, simply follow this guide: How to Add a Widget to your Form
    However, do note that the user will have to re-enter the school name for every new course added. 

    This is because it is not possible to have a dynamic field nested within another dynamic field using the widget. Otherwise, you will have to use regular fields for the School and use Dynamic Textbox for courses.

    You can check out this demo form to see the infinite list in action:

  • Profile Image
    Answered on March 03, 2016 at 06:39 AM

    Wow! Thanks for the quick answer and demo - that is GREAT support! The infinite list is great... I assume I can add all sorts of fields into it.

    Let me ask you though ... If the user could enter the NUMBER of schools, then the school names separately first... could the infinite list object then just include check or option boxes for each school - so they don't have to type names? Like this?

    Number of schools: 5
    School1 Name: Music,
    School2 Name: Medicine, Etc.  

    Then in the list:

    Course Name         Music        Medicine         School 3       School 4   

    Music 1                  X

    Music 2                  X

    Heart 1                                        X

    Can there be fields that are programmed from previous entries?

  • Profile Image
    Answered on March 03, 2016 at 08:32 AM

    The Infinite List widget can only accept Text Box fields as its questions:

    If you want to have other field types such as check boxes, or drop downs, you would have to use a very similar widget called Configurable List widget:

    Unfortunately, neither of these widgets can have their values prepopulated based on answers made to previous form fields. Your users will have to type their school names within these widgets.

    We can't create a single dynamic matrix such that you have described in the last post, where it would have both its horizontal (schools) and vertical (courses) questions dynamically change based on previously filled information. The Infinite List or Configurable List widgets though do allow to have a dynamic number of rows, so they can enter as many courses they want.

    I hope this helps.

  • Profile Image
    Answered on March 03, 2016 at 09:45 AM
    So there is no way to "script" sections of a form... ? Thanks,c   ----------------------------------------------------------------------------------------- "Everyone has a plan 'till they get punched in the mouth!" - M. Tyson
  • Profile Image
    Answered on March 03, 2016 at 11:16 AM

    You cannot add custom scripts directly on the widget and also not in the form, if that's what you meant. You can however, add custom scripts if you'll use the form's full source code.

    If you wish to have a more complex conditioning in your form fields, then perhaps using our "Conditions" would something that might help you. Here's a guide about it: 

    That should allow you to show or hide fields, insert values on input fields, disable form fields, etc... With this, you can dynamically show/hide group of fields depending on a user input.

    Here's a sample guide hiding group of fields using conditional logic: However, unlike the widgets mentioned, the number of rows cannot dynamically changed, because we're setting up specific fields in the form.

    I hope that helps.