Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3460

onsubmit of form not executed for ajax commands

    XMLWordPrintableJSON

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: #

      {MyController.counter}"/><br/>
      <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()

      { return counter; }

      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

      Attachments

        Activity

          People

            werpu Werner Punz
            mheinen Michael Heinen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: