Uploaded image for project: 'Cocoon'
  1. Cocoon
  2. COCOON-1822

MultiValueField list-type="double-listbox" does not work correctly in ajax enabled forms

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.1.9
    • 2.1.12, 2.3.0
    • Blocks: Forms
    • None
    • Urgent

    Description

      The multi value field with fi:styling list-type="double-listbox" relies on forms_onsubmitHandlers to select all items in the right selection list before submitting. In an ajax form, it seems like forms_onsubmit is not installed on the form, so handlers are not called; in forms-field-styling.xsl this is clearly stated :

            <xsl:choose>
              <xsl:when test="@ajax = 'true'">
                <xsl:attribute name="dojoType">CFormsForm</xsl:attribute>
                <xsl:if test="@ajax = 'true'">
                  <script type="text/javascript">cocoon.forms.ajax = true;</script>
                </xsl:if>
              </xsl:when>
              <xsl:otherwise>
                <xsl:attribute name="onsubmit">forms_onsubmit(); <xsl:value-of select="@onsubmit"/></xsl:attribute>
              </xsl:otherwise>
            </xsl:choose>

      I don't think installing forms_onsubmit() also on ajax forma is a wise solution, but maybe we should call it from inside the ajax code, or at least check and execute onsubmit_handlers. If not, also the free-form multivalue field editor will not work correctly.

      What's the best way to fix this issue?

      Attachments

        1. dojo-doublelist_patch.tar.gz
          8 kB
          Karen Torres

        Activity

          People

            antonio Antonio Gallardo Rivera
            s.gianni Simone Gianni
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: