I have a form with tabs and repeatable panels.
On load I'd like to run some jQuery and interrogate some fields that are on other tabs which are hidden on 1st load.
But the jQuery cannot find the elements in the DOM until the user has visited the tabs.
I have been able to work around this in code by setting focus to each panel, and back to the first panel with code.
This simulates a user visiting the tabs. Now the DOM elements on the tabs are accessible.
I'm stuck with repeatable panels. Hidden accordion panels cannot be read by jQuery until the user clicks on them to reveal them.
How do I loop over and set focus on these instances?
Is there a better way to "initialize" all the fields in all the panels (including hidden and hidden/repeated) on load of the form?
I'm hoping for a magic 'initialize all' script that will make sure all the DOM is loaded without the user having to click on everything and i won't have to write this silly code.
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
@Ryano_DE Let's discuss on 'I'm stuck with repeatable panels. Hidden accordion panels cannot be read by jQuery until the user clicks on them to reveal them.
How do I loop over and set focus on these instances?'
The somexpression for the repeatable panel/rows is driven by the main panel or row. You should be able to construct a somexpression for all the rows something like we do in array or JSON with child nodes.
Can you please give us more details in the use case?
Views
Replies
Total Likes
@Ryano_DE I like your magic all intention :). But to be true I really didn't get what Is the objective here?
From the API DOC "There is no link between Dom ready events and the connect API. If one wants to access the HTML DOM from inside the connect callback, the recommended approach is to listen on the jQuery ready event or the native DOMContentLoaded event. Similarly if one wants to access GuideBridge APIs one needs to wait for the connect callback to get fired."
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
The scenario is the form uses restoreGuideState from an API on load.
The state doesn't seem to load into any fileAttachment components unless they have been visited first (and so initialised) by a user.
So, I'm trying to use a combination of guideBridge and jQuery to simulate a user 'focusing' on all of the hidden tabs and 'clicking' on repeatable panels, before loading.
Yuk.
Views
Replies
Total Likes
@Ryano_DE Let's discuss on 'I'm stuck with repeatable panels. Hidden accordion panels cannot be read by jQuery until the user clicks on them to reveal them.
How do I loop over and set focus on these instances?'
The somexpression for the repeatable panel/rows is driven by the main panel or row. You should be able to construct a somexpression for all the rows something like we do in array or JSON with child nodes.