Hi Roland,

sounds like a known bug that has been fixed. Which version of MyFaces
are you using?

regards,

Martin

On 7/18/08, Roland Hammerle <[EMAIL PROTECTED]> wrote:
> Hi there,
>
> I have a page that contains two commandLinks:
>
>     <h:commandLink
>         value="#{msgs.button_export}"
>         action="#{reportTemplateMgmt.exportReportTemplate}"
>         styleClass="button">
>         <f:param name="objectId" value="#{reportTemplate.id}"/>
>     </h:commandLink>
>
>     <h:commandLink
>         value="#{msgs.button_generate}"
>         onclick="openPopup()"
>         styleClass="button"/>
>
> The first link generates a file on the server that the user can then save
> with the usual save/open dialog box of IE. The page does not get refreshed.
>
> The second link opens a popup window and also causes the parent window to
> reload because the onclick is extended with oamSubmitForm.
>
> There is an interesting problem with this on IE 7 (works fine in FireFox):
> When the user clicks on the first link the file is offered for
> saving/opening. When he then clicks on the second link the popup window is
> openend. However, the first link is also executed.
>
> I think the reason for this is because the first link sets the hidden
> element formName + ":" + "_clid" as found in oamSubmitForm. When the user
> clicks on the second link this hidden element is set again. However, for
> some reason IE cannot find the element in the form and adds another hidden
> input field for this element. I put a few debug statements in a copy of
> oamSetupForm to check what's going on. The function oamSetupForm uses the
> following line to check whether the hidden element is already in the form:
>
>     if(typeof form.elements[name]=='undefined')
>
> This, in fact, returns undefined. When I manually walk through all elements
> in the form using
>
>     var els = form.elements;
>     for (var i = 0; i < els.length; i++) {
>     }
>
> then the element is found. I could not reproduce this behaviour in a simple
> test file. It would always find the hidden element after it had been added.
>
> Since the linkId of the first link is sent together with the linkId of the
> second link both get executed.
>
> Did anyone else encounter this problem? What's the best way to solve this?
>
> Thanks,
> Roland
>


-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Reply via email to