Expand my Community achievements bar.

Adobe Summit 2025: AEM Session Recordings Are Live! Missed a session or want to revisit your favorites? Watch the latest recordings now.

Mark Solution

This conversation has been locked due to inactivity. Please create a new post.

SOLVED

broken switch statement - acting weird

Avatar

Former Community Member

Hi guys

i have a switch statement attached to a text fields cauculate field -

it is required to show/hide various fileds

it is behaving very weird - if you make an initial selection its fine - everything shows/hides correctly - but if you change you selection more than a few times it seems to default to only showing a couple of the second set of fields

i guess there must be an error in it somewhere, but after several hours of frustration, i still cant get it to work

can anyone spot the error?

here is the switch

switch(Any_affected_kids_droplist.rawValue) {

case "1":

page35.enrol_affchidONE_sub.presence = "hidden";

page14.affchildONE_sub.presence = "hidden";

page36.enrol_affchidtwo_sub.presence = "hidden";

page15.affchildTWO_sub.presence = "hidden";

page37.enrol_affchidTHREE_sub.presence = "hidden";

page16.affchild_THREE_sub.presence = "hidden";

page38.enrol_affchidFOUR_sub.presence = "hidden";

page17.affchild_FOUR_sub.presence = "hidden";

page39.enrol_affchidFIVE_sub.presence = "hidden";

page18.affchild_FIVE_sub.presence = "hidden";

page40.enrol_affchidSIX_sub.presence = "hidden";

page19.affchild_SIX_SUB.presence = "hidden";

break;

case "2":

page35.enrol_affchidONE_sub.presence = "visible";

page14.affchildONE_sub.presence = "visible";

page36.enrol_affchidtwo_sub.presence = "hidden";

page15.affchildTWO_sub.presence = "hidden";

page37.enrol_affchidTHREE_sub.presence = "hidden";

page16.affchild_THREE_sub.presence = "hidden";

page38.enrol_affchidFOUR_sub.presence = "hidden";

page17.affchild_FOUR_sub.presence = "hidden";

page39.enrol_affchidFIVE_sub.presence = "hidden";

page18.affchild_FIVE_sub.presence = "hidden";

page40.enrol_affchidSIX_sub.presence = "hidden";

page19.affchild_SIX_SUB.presence = "hidden";

break;

case "3":

page35.enrol_affchidONE_sub.presence = "visible";

page14.affchildONE_sub.presence = "visible";

page36.enrol_affchidtwo_sub.presence = "visible";

page15.affchildTWO_sub.presence = "visible";

page37.enrol_affchidTHREE_sub.presence = "hidden";

page16.affchild_THREE_sub.presence = "hidden";

page38.enrol_affchidFOUR_sub.presence = "hidden";

page17.affchild_FOUR_sub.presence = "hidden";

page39.enrol_affchidFIVE_sub.presence = "hidden";

page18.affchild_FIVE_sub.presence = "hidden";

page40.enrol_affchidSIX_sub.presence = "hidden";

page19.affchild_SIX_SUB.presence = "hidden";

break;

case "4":

page35.enrol_affchidONE_sub.presence = "visible";

page14.affchildONE_sub.presence = "visible";

page36.enrol_affchidtwo_sub.presence = "visible";

page15.affchildTWO_sub.presence = "visible";

page37.enrol_affchidTHREE_sub.presence = "visible";

page16.affchild_THREE_sub.presence = "visible";

page38.enrol_affchidFOUR_sub.presence = "hidden";

page17.affchild_FOUR_sub.presence = "hidden";

page39.enrol_affchidFIVE_sub.presence = "hidden";

page18.affchild_FIVE_sub.presence = "hidden";

page40.enrol_affchidSIX_sub.presence = "hidden";

page19.affchild_SIX_SUB.presence = "hidden";

break;

case "5":

page35.enrol_affchidONE_sub.presence = "visible";

page14.affchildONE_sub.presence = "visible";

page36.enrol_affchidtwo_sub.presence = "visible";

page15.affchildTWO_sub.presence = "visible";

page37.enrol_affchidTHREE_sub.presence = "visible";

page16.affchild_THREE_sub.presence = "visible";

page38.enrol_affchidFOUR_sub.presence = "visible";

page17.affchild_FOUR_sub.presence = "visible";

page39.enrol_affchidFIVE_sub.presence = "hidden";

page18.affchild_FIVE_sub.presence = "hidden";

page40.enrol_affchidSIX_sub.presence = "hidden";

page19.affchild_SIX_SUB.presence = "hidden";

break;

case "6":

page35.enrol_affchidONE_sub.presence = "visible";

page14.affchildONE_sub.presence = "visible";

page36.enrol_affchidtwo_sub.presence = "visible";

page15.affchildTWO_sub.presence = "visible";

page37.enrol_affchidTHREE_sub.presence = "visible";

page16.affchild_THREE_sub.presence = "visible";

page38.enrol_affchidFOUR_sub.presence = "visible";

page17.affchild_FOUR_sub.presence = "visible";

page39.enrol_affchidFIVE_sub.presence = "visible";

page18.affchild_FIVE_sub.presence = "visible";

page40.enrol_affchidSIX_sub.presence = "hidden";

page19.affchild_SIX_SUB.presence = "hidden";

break;

case "7":

page35.enrol_affchidONE_sub.presence = "visible";

page14.affchildONE_sub.presence = "visible";

page36.enrol_affchidtwo_sub.presence = "visible";

page15.affchildTWO_sub.presence = "visible";

page37.enrol_affchidTHREE_sub.presence = "visible";

page16.affchild_THREE_sub.presence = "visible";

page38.enrol_affchidFOUR_sub.presence = "visible";

page17.affchild_FOUR_sub.presence = "visible";

page39.enrol_affchidFIVE_sub.presence = "visible";

page18.affchild_FIVE_sub.presence = "visible";

page40.enrol_affchidSIX_sub.presence = "visible";

page19.affchild_SIX_SUB.presence = "visible";

break;

}

thanks heaps!

1 Accepted Solution

Avatar

Correct answer by
Former Community Member

You may have one of your variable misspelled.  I see a pattern in your naming scheme except for this object, page36.enrol_affchidtwo_sub.  The word "two" is lower case instead of upper case, "TWO" like all the other objects.  This may be the cause of your weird behavior.

Thanks

View solution in original post

3 Replies

Avatar

Level 10

Can you attach your form (or just a sample) ?

Nith

Avatar

Level 7

I didn't study your script super carefully, however, I'm thinking I understand what is going on. When you make the initial selection, you are hiding some fields.  Your next selection hides more fields. Pretty soon, after a few selections you have a lot of hidden fields (which shouldn't be). These fields will remain hidden until their presence property is  returned to visible. You'll need to do that each time your switch statement fires.

So, place a script right before before your switch statement, returning all affected fields to visible. Then your switch statement should work as expected. Also, I noticed you don't have a "default" in your switch. Probably a good idea to have a default as a fall back.

Good luck,

Stephen

Avatar

Correct answer by
Former Community Member

You may have one of your variable misspelled.  I see a pattern in your naming scheme except for this object, page36.enrol_affchidtwo_sub.  The word "two" is lower case instead of upper case, "TWO" like all the other objects.  This may be the cause of your weird behavior.

Thanks

The following has evaluated to null or missing: ==> liqladmin("SELECT id, value FROM metrics WHERE id = 'net_accepted_solutions' and user.id = '${acceptedAnswer.author.id}'").data.items [in template "analytics-container" at line 83, column 41] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign answerAuthorNetSolutions = li... [in template "analytics-container" at line 83, column 5] ----