[richfaces-issues] [JBoss JIRA] (RF-13018) a4j:commandButton wrong actions performed

Michal Petrov (JIRA) issues at jboss.org
Wed Mar 12 12:21:11 EDT 2014


    [ https://issues.jboss.org/browse/RF-13018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12952378#comment-12952378 ] 

Michal Petrov commented on RF-13018:
------------------------------------

This was caused by JSF, when it parses the form before sending the AJAX request it treats the buttons as basic input fields and puts them in the query string (apparently this is according to/not against W3C spec). Since the default behaviour is to execute the entire form the decoder finds those ids and executes them. (In older version versions even @type="reset" are treated this way.)
                
> a4j:commandButton wrong actions performed
> -----------------------------------------
>
>                 Key: RF-13018
>                 URL: https://issues.jboss.org/browse/RF-13018
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-a4j-core
>    Affects Versions: 4.2.3.Final, 4.3.2
>         Environment: Server: Fedora 17, Jboss AS 7.1.1.Final, Jboss EAP 6.1.0.Beta, Java 1.7.0_15
> Browsers: Chrome 26 and Chrome 27 on (Linux & Windows 7), Firefox 20.0 (Linux & Windows 7), IE 9
>            Reporter: Rob Hare
>            Assignee: Michal Petrov
>             Fix For: 5-Tracking
>
>         Attachments: RF-13018.zip
>
>   Original Estimate: 2 hours
>  Remaining Estimate: 2 hours
>
> When an a4j commponent (a4j:commandButton, a4j:jsFunction) is activated, actions of other a4j:commandButtons on the page with type=button will be fired.
> For example, pressing either button in the following code will cause both richBean.function1() and richBean.function2() actions.
> {noformat}
> <h:form id="testForm">
>     <a4j:commandButton id="button1" type="button" value="Button 1"
>         action="#{richBean.function1}" />            
>     <a4j:commandButton id="button2" type="button" value="Button 2"
>         action="#{richBean.function2}" />    
> </h:form>
> {noformat}
> Note, if one of the a4j:commandButton is marked immediate, then only one action (possibly the wrong action) will be performed and block others.  For instance if an a4j:jsFunction action was being triggered, the a4j:commandButton action may occur making appear that the a4j:jsFunction failed. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the richfaces-issues mailing list