onload for <tc:tab> tag
-----------------------
Key: TOBAGO-331
URL: https://issues.apache.org/jira/browse/TOBAGO-331
Project: MyFaces Tobago
Issue Type: New Feature
Components: Core
Affects Versions: 1.0.10
Reporter: Guido Dubois
I want to execute some javascript code when changing a tab pane.
I want to change the background color of several tab panes to highligth the
access state in the app. For this I had to change the style class
"tobago-tab-content". But the div container with this class has no id so it is
impossible to access the element from a bean.
With this javascript code, I am able to change the color:
setBgColorOfElement('div', 'tobago-tab-content', '#E0FFE0');
function setBgColorOfElement(element, class, color) {
elements = document.getElementsByTagName(element);
for (i = 0; i < elements.length; i++) {
if (elements[i].className == class) {
elements[i].style.background = color;
}
}
}
First I tryed to place a <tc:script> tag at the end of the tab pane page. But
the code is moved to the top of the page. Then the script is executed too early
so that the elements not exist yet.
If I use <tc:script onload="setBgColorOfElement('div', 'tobago-tab-content',
'#E0FFE0')" /> the call is moved to the top into the function
Tobago.applicationOnload = function() {
Tobago.setElementWidth('page:_idJsp0', Tobago.getBrowserInnerWidth());
setBgColorOfElement('div', 'tobago-tab-content', '#E0FFE0')
return true;
}
In this case the background changes only if the entire page is loaded.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.