Hi.
I have an application with links that switch panels using AJAX:
:
private Panel currentPanel;
:
ContactsListPanel manageContactsPanel = new ContactsListPanel();
currentPanel.replaceWith( manageContactsPanel );
currentPanel = manageContactsPanel;
:
One of my panels has an IFRAME on it which I wish to populate with content
on rendering. I would like to set the innerHTML through Javascript, rather
than set the source (the innerHTML will be injected with content that is
modified on the server and not a static source page).
I have a Javascript function that can be called once the IFRAME has
(effectively) been rendered:
function initializeIFrameArea()
{
IFrameArea.populateContent( "${originalContent}" );
}
The populateContent function simply sets the innerHTML on the IFRAME. The
'originalContent' is my modified content to be injected into the innerHTML.
My question is this:
1) On entering the panel, I was wondering if it is possible to use a
HeaderContributor (i.e. this is NOT a full page rerender) to add the script
containing the IFrameArea Javascript on which the populateContent is called.
I can't have the initializeIFrameArea function on the page from the start
because I am using a Variables Model to change the value of originalContent
on the fly (i.e. when the user enters this panel the content could be one of
many possibilities).
2) On rendering I want to be able to call initializeIFrameArea, but I do not
understand how I can get this into the HTML of the panel so that it calls
the function after the IFRAME is effectively rendered and innerHTML exists.
Perhaps there is a better approach - as this seems complicated (I had to do
this with Tapestry, so I'm not sure if Wicket has a more elegant approach).
Any thoughts most welcome.
Thanks, Graeme.
--
View this message in context:
http://www.nabble.com/Populate-IFRAME-innerHTML-on-AJAX-load-of-panel.-tp20887803p20887803.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]