Form elements with no conditional rules (but which appear after form elements with conditional rules) are not being displayed.

My form was originally as follows...

  1. Markup
  2. Page break
  3. Markup
  4. Page break
  5. Markup
  6. Select options
  7. Page break
  8. Markup - only displayed if option "b" is not selected for element "6"
  9. Select options - only displayed if option "b" is not selected for element "6"
  10. Page break - only displayed if option "b" is not selected for element "6"
  11. Markup - only displayed if option "b" is not selected for element "6"
  12. Page break - only displayed if option "b" is not selected for element "6"
  13. Markup
  14. Page break
  15. Markup

If I didn't select "b" for element "6", I saw all the elements (as expected).
But if I did select "b" for element "6", elements "13" to "15" were not displayed (although they should have been).

I then changed the form to the following:

  1. Markup
  2. Page break
  3. Markup
  4. Page break
  5. Markup
  6. Select options
  7. Page break
  8. Markup - only displayed if option "b" is not selected for element "6"
  9. Select options - only displayed if option "b" is not selected for element "6"
  10. Page break - only displayed if option "b" is not selected for element "6"
  11. Markup - only displayed if option "b" is not selected for element "6"
  12. Page break - only displayed if option "b" is not selected for element "6"
  13. Markup
  14. Page break
  15. Markup
  16. Page break
  17. Markup
  18. Page break
  19. Markup

If I didn't select "b" for element "6", I saw all the elements (as expected).
But if I did select "b" for element "6", the form resumed at element "15" - skipping elements "13" and "14", which should have been displayed.

Finally, I changed my form to the following:

  1. Markup
  2. Page break
  3. Markup
  4. Page break
  5. Markup
  6. Select options
  7. Page break
  8. Markup - only displayed if option "b" is not selected for element "6"
  9. Select options - only displayed if option "b" is not selected for element "6"
  10. Page break - only displayed if option "b" is not selected for element "6"
  11. Markup - only displayed if option "b" is not selected for element "6"
  12. Page break - only displayed if option "b" is not selected for element "6"
  13. Hidden
  14. Hidden
  15. Hidden
  16. Hidden
  17. Markup
  18. Page break
  19. Markup
  20. Page break
  21. Markup
  22. Page break
  23. Markup

If I didn't select "b" for element "6", I saw all the elements (as expected).
But if I did select "b" for element "6", the form resumed at element "19" (which was previously element "15") - skipping elements "13" to "18", which should have been displayed.

Comments

RobbM’s picture

Version: 7.x-3.19 » 7.x-3.20
quicksketch’s picture

Thanks for the report @Onein. In general, there isn't much working happening on the 3.x branch at this point. If you're using conditionals, that's one of the best reasons to upgrade to 4.x. Conditionals are much more flexible and easier to manage than in 3.x, and work more consistently (and source/target elements can be on the same page).

I probably won't be putting effort into debugging this problem if it only exists on 3.x, but if any patches are put forward I'll review them. Considering the limited differences between 3.x and 4.x, it'd probably be worth the effort to move to the new version.

RobbM’s picture

Version: 7.x-3.20 » 7.x-4.0-rc3

Thanks @quicksketch. I've now upgraded to 4.x, but still experience the same issue (even after deleting and recreating all the conditionals).

Currently my form is as follows:

  1. Markup
  2. Page break
  3. Markup
  4. Page break
  5. Markup
  6. Select options
  7. Page break
  8. Markup - only displayed if option "b" is not selected for element "6"
  9. Select options - only displayed if option "b" is not selected for element "6"
  10. Page break - only displayed if option "b" is not selected for element "6"
  11. Markup - only displayed if option "b" is not selected for element "6"
  12. Page break - only displayed if option "b" is not selected for element "6"
  13. Markup
  14. Page break
  15. Markup
  16. Page break
  17. Markup
  18. Page break
  19. Markup

And components 13 and 14 are being skipped (as well as components 8 -12) when I select option "b".

Edit 1: I've also tried deleting and recreating components 13 and 14 but to no avail.
Edit 2: I've tried recreating the entire form from scratch in 4.x too, but still get the same results.
Edit 3: And I've tried reversing the logic (i.e. changing "is" and "hide" to "is not" and "show") but still get the exact same results.
Edit 4: If I remove the conditionals from elements 11 and 12, they still get hidden (even though they no longer should!) while elements 13 and 14 now get shown. This is the functionality I need. But it contradicts the rules...

In summary, it seems that I'm always getting two more elements hidden than I ask for. So if I ask for two less than I need, I can get what I want. But obviously that's just a workaround, not a solution. Is it something to do with hiding page breaks? Does that not work, so the next component gets hidden instead?

DanChadwick’s picture

Status: Active » Closed (duplicate)
Related issues: +#2220665: Same-page date conditionals don't work

Multi-page conditions have been fixed in another issue. #2220665: Same-page date conditionals don't work Please retest with the latest 7.x-4.x-dev. Marked as a duplicate. Please re-open if you still have an issue.