Hello, we are trying to make a field remain visible even if the visibility condition changes. For example, on startup the field is not visible, and if the field becomes visible we would like it to remain visible, even if the condition making it visible disappears. We would like to accomplish this without repeats.
Currently we have a variable solely dedicated to evaluating the condition, so the body::esri::visible column in out xlsx reads only ${condition}. This works how we would expect. We have also tested a combination of calculation behaviors (auto, manual, etc.) between these two variables to no avail.
Is there any way to "Toggle" a fields visibility, and provide it no way to "turn off?"
Solved! Go to Solution.
Two ways to do this. the simplest to use the once() function.
Construct the ${condition} field so that it is a calculated field with a value of once(${metaconditions}).
What that means is that while the fields that feed the ${condition} fields are blank, the field will be invisible. Once any value is entered into those fields, the condition will become visible and stay visible even if the values are deleted or changed.
The second method is to set the ${metaconditions} question into a group, with a condiiton that the group only remains visible if ${metaconditions} has a string-length of 0, ie unanswered. Then construct another group with a default value equal to ${metaconditions}, and that is only visible if ${metaconditions} has a string-length of >0.
What that does is cause ${metaconditions} to vanish as soom as it is answered, but be simultaneously replaced by another question that appears identical. Users won't actually relaise they are interacting with another question, but it will prevent the ocnditions from everbeing altered, and hence the field reading from it will always be vsible.
Both methods have limitations and advantages.
Two ways to do this. the simplest to use the once() function.
Construct the ${condition} field so that it is a calculated field with a value of once(${metaconditions}).
What that means is that while the fields that feed the ${condition} fields are blank, the field will be invisible. Once any value is entered into those fields, the condition will become visible and stay visible even if the values are deleted or changed.
The second method is to set the ${metaconditions} question into a group, with a condiiton that the group only remains visible if ${metaconditions} has a string-length of 0, ie unanswered. Then construct another group with a default value equal to ${metaconditions}, and that is only visible if ${metaconditions} has a string-length of >0.
What that does is cause ${metaconditions} to vanish as soom as it is answered, but be simultaneously replaced by another question that appears identical. Users won't actually relaise they are interacting with another question, but it will prevent the ocnditions from everbeing altered, and hence the field reading from it will always be vsible.
Both methods have limitations and advantages.