Tooltip Help in APEX: An alternative to popup help
The default help functionality for APEX is ok but can cause some problems with users browsers since it uses popup windows to display the help. If you do some digging around regarding web development best practices you'll find a lot of articles discussing why you should avoid popup windows. Instead of using the default help popup windows I prefer to use tooltips to display the help. Besides avoiding the popup window, tooltips generate a good user experience by displaying item help very quickly.
This demo uses a jQuery tooltip plugin: http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/. Please visit the Bassistance website to find out how to configure the look and feel of the tool tips.
Here's a link to the demo: http://apex.oracle.com/pls/otn/f?p=20195:2400
- Create or Update Label Template Note: You don't need to create a new template. If you want to, just update the existing templates
Copy the "Optional Label with Help" and rename to "Optional Label with ToolTip". Note: You can do this for required labels as well
Change the "Before Label" From: <label for="#CURRENT_ITEM_NAME#" tabindex="999"><a class="t20OptionalLabelwithHelp" href="javascript:popupFieldHelp('#CURRENT_ITEM_ID#','&SESSION.')" tabindex="999">
To: I removed the href reference and replaced with # <label for="#CURRENT_ITEM_NAME#" tabindex="999"><a class="t20OptionalLabelwithHelp" href="#" tabindex="999">
- Create a HTML region This can be done on P0 to load for each page Don't forget to upload the jQuery and tooltip JS files into Shared Components / Static Files
- Create an Application Process Name: AP_GET_HELP_TEXT Process Point: On Load: After Header
BEGIN
FOR x IN (SELECT ''
|| item_help_text
|| '' help_html
FROM apex_application_page_items
WHERE application_id = :app_id
AND page_id = :app_page_id
AND item_help_text IS NOT NULL)
LOOP
HTP.p (x.help_html);
END LOOP;
END;
- Change Item Labels Change Item labels to "Optional Label with ToolTip". Only do this if you created a new template