You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2010/08/25 06:31:18 UTC

[jira] Resolved: (WICKET-2933) Form.MULTIPART_HINT is not cleared correctly with nested forms

     [ https://issues.apache.org/jira/browse/WICKET-2933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg resolved WICKET-2933.
-----------------------------------

         Assignee: Igor Vaynberg
    Fix Version/s: 1.4.11
                   1.5-M2
       Resolution: Fixed

tested with

WICKET-2933-with-Exception.zip	2010-07-08 04:52 PM	Alex Grant	23 kB

be sure to remove any explicit calls to form#setmultipart(), wicket will now correctly calculate this for you

> Form.MULTIPART_HINT is not cleared correctly with nested forms
> --------------------------------------------------------------
>
>                 Key: WICKET-2933
>                 URL: https://issues.apache.org/jira/browse/WICKET-2933
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.4.9
>            Reporter: Alex Grant
>            Assignee: Igor Vaynberg
>             Fix For: 1.4.11, 1.5-M2
>
>         Attachments: WICKET-2933-quickstart.zip, WICKET-2933-with-Exception.zip, WICKET-2933-with-Exception.zip, wicket-2933.tar.gz
>
>
> I have a page that looks like this
> * Page
> ** Form
> *** Wizard (contains another Form)
> **** StepOne - contains a FileUploadField
> **** StepTwo - has no FileUploadField
> (The outer form is there because I have some controls outside the wizard that needed to submit the wizard too).
> Because I have been using Ajax ModalDialogs, it has been important to get Form.multipart set correctly (otherwise they don't submit back correctly). So I override Wizard.onActiveStepChanged and checked to see if the new wizard step contained a FileUploadField, and set Form.setMultiPart accordingly. However, this only clears Form.MULTIPART_HARD, Form.MULTIPART_HINT is left untouched.
> When I step from StepOne to StepTwo, the inner form still has MULTIPART_HINT set as it contained a FileUploadField last render. Then the outer form's onRender fires, which clears MULTIPART_HINT, then the outer form's onComponentTag fires. When it checks isMultiPart(), it evaluates to true as the nested Form still returns true from its MULTIPART_HINT, and therefore tag.put("enctype", "multipart/form-data"); is executed. After that, the inner form's onRender fires which clears its MULTIPART_HINT.
> When I try to submit StepTwo, the html has enctype="multipart/form-data", so it does a multipart submit. But wicket is not expecting a multipart submit so it doesn't find any of the submitted form data, and cannot determine which button is pressed, and loses all the form content.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.