- iMatterAsked on October 06, 2015 at 11:25 AM
I am completely baffled on this one. I have a complex form that creates a Climate Report Card based on inputs about a city. Everything is working except the Waste section of the form. Numerical values are calculated based on values input in the form. These values are used to calculate a numeric grade. Then the numeric grade is translated into a Letter Grade (with a set of conditions). Somehow the letter grade changes somtimes (not all the time - about 50% of the time) without the numeric grade changing when going between pages in the form. It seems especially bad when backing up.
For all the other sections it works fine, just the Waste section isn't working.
I've been looking at it for hours, and I'm pretty certain my logic is correct. It seems there may be some undocumented (or at least unknown to me) behavior in how conditions are applied that is causing the randomness.
I have unhidden many fields to debug the issue in the form. The key ones to look at are Waste Numeric Score and Waste Grade.
I've attached a screen shot of a scenario that is causing problems.
- JotForm DeveloperomurAnswered on October 06, 2015 at 11:31 AM
Thank you for the extensive information. We'll open up an investigation and try to narrow down the issue and than update you on the status.
Please allow us some time and we'll gladly help you with your problem.
In the meantime one of my colleagues will try to provide you with a temporary solution.
Thank you very much
- CharlieAnswered on October 06, 2015 at 12:20 PM
The form is indeed quite complex, could you give us a specific example so that we can test it in our end? I'm not sure how your calculation works and how the process in your form works. You can reply with us a step by step of the inputs then the expected outcome that it should be.
May we also know if the form is embedded on a website? Here's a screencast I made based from the screenshot you have above, although I'm not sure if what the error should be
I tried navigating on different pages but the Waste Grade doesn't changed. I'm sorry if we're unable to fully test it without specific steps, your conditions and the form itself seems to have some complexity to it.
We'll wait for your response.
- iMatterAnswered on October 06, 2015 at 02:28 PM
Ok - here goes.
1. The issue is in the Waste section of the report card, but on the Zero Emissions Climate Action Plan page, there are a couple required questions you'll need to answer. Just answer "Has a greenhouse gas inventory been done for the city..." and "Is there a Climate Action Plan in place for the city?" - with a No. Then press Next.
2. Press Next on the Renewable Energy page as well (no inputs needed). This will take you to the Waste page, where the problem is.
3. On the Waste page - Input the following into the fields noted below:
- Recycling Program: Is there a curbside recycling program? YES
- Organics Program: Is there a curbside organics recycling program (often called composting)? YES
- "This year" Waste...": 1000
- "Last year" Waste...": 1250
- "This year" Population: 1000
- "Last year" Population: 1000
You don't have to input in any of the other fields for now.
4. What should happen is:
- Waste Per Person = 2 (this is based on the reduction in the amount of waste per person generated from Last Year to This Year - from Condition #57) THIS SEEMS TO BE OK
- W3a - Curbside organics adder = 0.33 (this is a simple condition - if the answer to the Organics Program question is yes, this field is 0.33 - from Condition #70)
- Waste Numeric Score = 2.33 (This is just the sum of the following fields: W1 - Waste per person score, W2 - Recovery rate score, W3 - Curbside recycling adder, W3a - Curbside organics adder, W4 - 75% Recovery rate adder.
- Waste (on the last page) and Waste Grade (on the Waste page) should now both be equal to C+ based on conditions 73-96.
- You'll see a Calculate Field checkbox on the Waste page - I had added that, because in prior versions of the form, there were problems with the grade being accurate without having it. It is there so a user can see the Waste grade on the Waste page, as opposed to waiting to the last page of the form. It is governed by condition 99.
- On the last page of the form - there is a field called "Adjusted Waste Score" that is governed by conditions 97 and 98. This is so that if the Waste Numeric Score is over 4.33 (higher than an A+), it is adjusted to be an A+ for the calculation of the "Overall City Grade" field on the last page.
If you go back and forth to the end of the form and back to this page on the form, the Waste Grade sometimes changes as does the Waste Numeric Score - WITHOUT any changes in the input values. Sometimes it even happens the first time. This is just one scenario where it happens. So far, in most every set of inputs I've made where the Waste Numeric Grade is above 0.5 - I see the same behavior.
- iMatterAnswered on October 06, 2015 at 02:29 PM
Also - the form will be embedded on a website - but it is not yet.
- JotForm SupportWelvinAnswered on October 06, 2015 at 04:23 PM
I have loaded the form to multiple browsers but seems like the data is not changing at all. All the mentioned conditional logic is working fine as far as I checked it. Will check further and let you know.
- JotForm SupportWelvinAnswered on October 06, 2015 at 04:35 PM
I think I may have found the issue here. The Masked Input widget is the common in all of the fields that are mentioned in your last reply. Although, my tests are working fine using this widget, I think this is causing the issue in the form. Especially, you have them inside the page break.
I have a doubt the widget loads the value as soon as you navigate through the pages and the calculation is not firing up during or after this. So, maybe, try changing the widget to text box fields?
- iMatterAnswered on October 06, 2015 at 04:40 PM
Ok - just tried it - and look below. Waste Numeric Score should be the sum of W1 through W4 - and it is not! I will try the masked input thing - but I don't remember selecting masked input...
- JotForm SupportWelvinAnswered on October 06, 2015 at 06:30 PM
Here's my result when doing the above steps:
Please try my suggestion to use a textbox field instead of the widget. See if that works. If not, then we have to find again if there's something in the conditional logic that does this, maybe a conflict in the logic settings. So far, I can't find one so I think the textbox will help.
- iMatterAnswered on October 06, 2015 at 07:00 PM
I didn't use a widget for those fields (W1... W2...) - I used the Number field from the Quick Tools section. Are you suggesting that I change all of the number fields to text fields?
I would have to go through and re-do I think a lot of the logic I have...
- iMatterAnswered on October 06, 2015 at 08:32 PM
OK - so wow. I made the changes you suggested - and it appears to fix the issue. So thank you!
However - I wasn't fixing any of the logic in my form - that was all correct. There's a bug in how the Masked Input widget works with conditional logic that includes page breaks. It may also extend to number fields. When I changed all the masked input fields and number fields to text fields - it works.
- CharlieAnswered on October 07, 2015 at 02:14 AM
I believe this is because the Masked Input is a widget, it is actually loaded on an iframe, and as mentioned by my colleague, the values inputted in that widget is having delays or the values are not properly being passed in the conditional logic always.
You can continue using the number field in the fields W1, W2 and so on. You just need to avoid using the Masked Input widget in the conditional logic. If the problem continues, please let us know and we will investigate it further.