Update: Considering following cases:
1) Outer form has its multipart set to true and inner form to false:
when inner form is submitted, a GET AJAX request is sent to server. The
outer list however is a multipart one and expects a post request (see
L#64 ServletFileUpload), thus the exception is thrown.
2) Both forms has their setMultipart to true:
when the inner form is submitted via AJAX, since it is a multipart form,
a new iframe (containing a submit button) is created and the JavaScript
function submit() is called on the inner form. On the other side, since
the inner form is just a div and no real form, the function fails.
up to now, I haven't come up with a solution, which adequately addresses
this problem. I also didn't want to make any changes to JS files.
Best,
Pouyan
On Tue, 2012-08-14 at 12:37 +0200, Pouyan Zaxar wrote:
> Hi all,
>
> I have been experiencing some problems with nested forms lately. I have
> an outer form which contains a FileUploadFile and an inner form with no
> upload field. If I submit the inner form in *AJAX* mode, I get the
> following error:
>
> Last cause: ServletRequest does not contain multipart content. One
> possible solution is to explicitly call Form.setMultipart(true), Wicket
> tries its best to auto-detect multipart forms but there are certain
> situation where it cannot.
>
> even though the outer form has its setMultiPart(true).
> Adding setMultiPart(true) to the inner form (even though it makes no
> sense at all) breaks the JavaScript:
>
> ERROR: Wicket.Ajax.Call.submitForm: Trying to submit form with id
> 'undefined' that is not in document.
>
> even though its setOutputMarkupID(true) is set.
>
> I have also tried the following
>
> public boolean wantSubmitOnNestedFormSubmit() {
> return false;
> }
>
> on the outer form, but I had no luck at all.
>
> I would really appreciate if you could help me with this.
> Best
> Pouyan
signature.asc
Description: This is a digitally signed message part
