Skip to main content

Command Palette

Search for a command to run...

Loop through all page items in APEX

Updated
•2 min read•View as Markdown
Loop through all page items in APEX

This blog has been sitting idle for too long. So starting off the New Year with a quick find!

Here is the problem:

We need to loop through all page items to apply some logic on demand, and preferably we want to do it dynamically.

Taking a look at apex.page there is a function called forEachPageItem.

Function

This is not documented in https://apex.oracle.com/jsapi but it is public. This returns a function. Here is the internal function signature and comment inside of page.js as of APEX 20.2:

// For the given form call callback once for each page item in that form. This includes disabled and unchecked items. // Page item elements are identified by having a name attribute that is not one of the well known names // input type=image not supported // See comments in ajaxSubmit as well function forEachPageItem( form$, callback, allElements )

Function Signature

It looks like can you pass a specific form as a parameter, but I am using what they use inside the page.js when the form parameter is null in other spots. This gives us back all page items on the page.

allItems = apex.page.forEachPageItem; allItems( $( "#wwvFlowForm" ), function( el, name ) { console.log(el); console.log(name); }, true );

Solution

Hope this can help someone as the majority of solutions I see online regarding this revolve already looking at the metadata views via PLSQL.

211 views

More from this blog

Oracle & More

10 posts