Volodymyr Siedlecki created MYFACES-4679:
--------------------------------------------

             Summary: MYFACES-4606 Causes Multiple Events To Queue
                 Key: MYFACES-4679
                 URL: https://issues.apache.org/jira/browse/MYFACES-4679
             Project: MyFaces Core
          Issue Type: Bug
            Reporter: Volodymyr Siedlecki


Easier to demonstrate via the attached app.

1) Deploy application with  MYFACES-4606 applied.
2) Visit index.xhtml
3) Click down on the first button (don't let go)
4  Move the cursor elsewhere and then let the click go.
5) Click anywhere on the page to trigger the blur event (unfocus the button). 
6)  Repeat with the second button

With the second button, both the listener and confirm actions to occur. Even 
though, the button wasn't actually clicked.

In my view, only the listener event should occur, not the confirm actions. 
However, by adding the issuing element to the request, JSF thinks the button 
was clicked after all. 

The activate action check is here:
[https://github.com/apache/myfaces/blob/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java#L65]

The "isSubmitted" method return true for paramMap.containsKey(clientId) which 
is what the 4606 fix did (add the client id).

*This there a way to keep the older behavior for this scenario (pre-4606)?*

Additionally, I've seen the multiple invocations for the listener / confirm, 
but I can't pin point the problem (could be some other button click 
combination).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to