I have a form that automatically calculates a quote for the client before they submit it (through calculated fields). The problem is if someone changes their mind and deselects something (regardless of the type of question), the value in the child question's field is retained and still used in the quote.
For example,
Drop down box: Option A ($100) --------> Conditional trigger, "Would you like Option C? (+$50)" checkbox comes down below the question. Option B ($200)
Scenario: 1. User selects Option A ($100), and then ticks Option C which has now appeared. Their quote is $150. 2. User changes their mind, and selects Option B ($200). The QUESTION for Option C ($50) is not an applicable question, and is hidden. However, the VALUE is retained. The user's quote is now $250, but should be $200.
This get's even worse when questions are asked based on value, so questions begin appearing that are not applicable. Devs, you can see how messy this gets if you play around with form 1571 for a while.
Solution: When someone deselects an option, it should clear all the values for fields that were conditional upon that option.
Just to clarify in the example: if someone de-checked Option C ($50) and then selected Option B ($200), the quote would be fine ($200). The problem is, most users don't go back and undo everything they selected (unless they have OCD). Most will skip to the parent question and see that the conditional questions are gone and assume their values are invalid / deselected. Am I making sense ?! :)
Yes, this is very clear and you're right this is an issue that we need to address. I don't have an immediate ETA on this, we need to assess first what's the best way to handle this, but I'll keep you updated.
Thanks for such a quick response. I have a client with a form that will need to be ready in a few weeks, so I look forward to hearing more. You guys have a great product here.
1. Open your form in the Form Builder, click on your form's name in the outline to open the form properties. 2. Click on the 'advanced' tab. In the 'Custom Code' field, paste the following line: <script type="text/javascript" src="http://app.formassembly.com/js/wforms3/wforms_custom_clear_switch.js"></script> 3. Save your form and you're done.
Note: If you are hosting the form on your own site, you can instead add the code to the <HEAD> element of your page.
Here's an example (look at the second fieldset of the form): http://app.formassembly.com/forms/view/565
Here's the template entry if you want to add the form to your account and check it out in the Form Builder. http://app.formassembly.com/forms/catalog/565
Please note that this is still 'beta'. You can help us by checking it in different browsers and report any problem you have.
This solution works but has a limitation. It will deselect any conditional fields, but will NOT re-hide sections if they are set to only show with certain selections. You can see what I mean here: http://www.tfaforms.com/205163
Under Event Category, choose All-Star/Studio Dance. Under Category, choose "Hip Hop" and then check the box beside "Register this team for 2nd routine." You will notice those selections show additional sections. Now back up in the Event Category, choose anything other than All-Star/Studio Dance. Make a couple selections there and then go back and select All-Star/Studio Dance. All of the fields have been cleared as expected, but the sections which should only show if certain slections were made, still show.
For the sections to be hidden, they must be within the parent section. This is limitation imposed by older browsers (IE6-7) where the javascript processing speed is too slow to properly update the entire form.