Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
2.0.8, 2.1.5
-
None
-
None
-
None
-
Tomcat 6.0.32, Facelets
Description
During the migration from JSF 1.2 to 2.1 I noticed that the onsubmit attribute of forms is not executed for ajax links.
Sample:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<ui:composition>
<h:form id="myform" onsubmit="alert('submitted')" >
<h:outputText id="oldCounter" value="oldCounter: #
<h:outputText id="newCounter" value="newCounter: #{MyController.counter}
"/><br/>
<h:commandButton value="AjaxButton" actionListener="#
{MyController.increase}" ><f:ajax render="newCounter" execute="@this"/>
</h:commandButton><br/>
<h:commandButton value="Button" actionListener="#{MyController.increase}
"/>
</h:form>
</ui:composition>
</html>
@ManagedBean(name = "MyController")
@SessionScoped
public class MyController{
private int counter = 1;
public int getCounter()
public void increase(ActionEvent ae)
{ counter++; }}
This is also not working with mojarra 2.1.6 and 2.0.8.
I used the onsbumit with JSF 1.2 in order to lock the screen and prevent double submits.
Now I do not see any working alternative in JSF 2.1