[ 
https://issues.apache.org/jira/browse/MYFACES-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mario Ivankovits updated MYFACES-1804:
--------------------------------------

    Resolution: Duplicate
        Status: Resolved  (was: Patch Available)

It is so strange.

Two bugs uncovered by different people and filed in sequence. I can't belive it 
:-) Way too cool.

MYFACES-1805 fixed it.

> Pressing a download button corrupts other button actions in Internet Explorer
> -----------------------------------------------------------------------------
>
>                 Key: MYFACES-1804
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1804
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions:  1.2.0
>         Environment: Microsoft internet Explorer 6.0 (not tested for other 
> versions)
>            Reporter: Thomas Fischer
>         Attachments: myfaces-1804.patch, testHiddenInputJavascript.html, 
> testie.jsp, TestieController.java
>
>
> Situation: The user accesses a jsf page where a commandlink or commandButton 
> starts a download, and other commandLinks or CommandButtons are present in 
> the same form, using the internet explorer as a browser. The user e clicks on 
> the download Button. Afterwards, the user clicks on any other button in the 
> same form.
> Observed behaviour: The previous download is started again, regardless of the 
> action associated with the button
> Expected behaviour: The action associated with the button should be executed
> Analysis: The error originates in the generated javascript function 
> oamSetHiddenInput(formname, name, value). In this function, it is checked 
> whether the hidden input already exists, using the javascript code 
> if(typeof form.elements[name]=='undefined')
> This works fine in the Internet explorer as long as the hidden input was 
> created in html. If the hidden input was created using javascript, e.g. by 
> the code in the same function, the above condition returns true although the 
> hidden input already exists. This results in creating a second hidden input 
> field instead of replacing the value in the existing one. If the server only 
> uses  the  value of the first(i.e. already existing) hidden input field, it 
> gets the old value instead of the new one. In the end, myfaces reads the old 
> value of the html parameter ${formName}:_idcl, and so the old action is 
> executed instead of the new one.
> Resolution: Accessing the hidden input via indices (form.elements[0], 
> form.elements[1] ...) also works if the hidden input is created dynamically.
> Note that the error does only occur if the page is not reloaded when the 
> first button is pressed, so a special action as e.g. a download is needed to 
> trigger the behaviour. 
> I'd consider this to be a bug in IE, but as we cannot persuade all users to 
> use a browser which is less buggy, a workaround should be implemented in 
> myfaces. The error does not occur in Firefox.
> As the implementation is in the myfaces_shared project, this affects both 
> core and tomahawk.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to