|
Andrew, yes - using setTimeout solves the problem. Just put: if (_agent && _agent.isIE) window.setTimeout("document.getElementById('" + refocusId + "').focus()", 1000); else activeNode.focus(); Btw I noticed a similar problem today in a different context. I had a popup list (non a tr:panelPopup) to be shown as a suggestion list upon clicking a link. All done through PPR and I needed to call focus() to preselect the first item as well as catching onBlur to hide the list. Once again, no problems on FF, while on IE this call returned ok, but the very first time no popup was shown. Once more - commenting out the focus call solved the problem. But even doing it a bit later through setTimeout was ok. -- Renzo Andrew Robinson wrote: I am wondering if this ought to be called in a window setTimeout. Any way you can modify the code locally and attempt to see if that helps?On Fri, Feb 22, 2008 at 1:30 AM, Renzo Tomaselli <[EMAIL PROTECTED]> wrote:Yes, I followed the PPR response handling on FF/Firebug - but there all is ok. Then I investigated on IE 6/7 by means of placing alerts everywhere. There is no return from calling focus(), although no errors are reported - even on IE 7 with IE developer toolbar activated. -- Renzo Andrew Robinson wrote: Hmmm, you say this is during the PPR application? I think there is a bug in IE that causes exceptions to be thrown if setFocus is called from the PPR "thread" -Andrew On Thu, Feb 21, 2008 at 3:04 AM, Renzo Tomaselli <[EMAIL PROTECTED]> wrote: Hi, I have a panelPopup containing a number of links with partialSubmit="true". The panel itself is enclosed into a panelGroupLayout bound to a bean. This binding allows to define the enclosing panel as a PPR target through addPartialTarget(), no matter which links triggers it. So the overall structure is roughly like this: <tr:panelGroupLayout id="modalWrapper" binding="#{bean.panel}"> <tr:panelPopup id="modal" position="centered" modal="true"> <tr:commandLink id="next" action="" partialSubmit="true" ... all of this works fine on FF. However it does not on IE 6/7. The very first time the panel is created, but any following click on links does not refresh panel contents. After some js debugging - I noticed that in Page.js, method _handlePprResponseFragment() - there is a focus action on the link itself (which is recorded as being active): if (refocusId) { activeNode = doc.getElementById(refocusId); if (activeNode && activeNode.focus) { activeNode.focus(); // !!!!! on IE there is no return from focus(), so that the rest of the panel fragments are not rendered. No errors, though. If I comment out the focus() call, everything works as expected. -- Renzo |
- [Trinidad] js issue while handling PPR inside a tr:panelPo... Renzo Tomaselli
- Re: [Trinidad] js issue while handling PPR inside a t... Andrew Robinson
- Re: [Trinidad] js issue while handling PPR inside... Renzo Tomaselli
- ValuechangeEvent is not happening inside data... Thomas, Tinu
- Re: [Trinidad] js issue while handling PPR in... Andrew Robinson
- Re: [Trinidad] js issue while handling PP... Renzo Tomaselli
- Re: [Trinidad] js issue while handli... Andrew Robinson
- Re: [Trinidad] js issue while ha... Renzo Tomaselli
- Re: [Trinidad] js issue whil... Renzo Tomaselli

