According to the javadoc for Form it is possible because the inner form gets substituted with span tags. It says:
<quote> Forms can be nested. You can put a form in another form. Since HTML doesn't allow nested <form> tags, the inner forms will be rendered using the <div> tag. You have to submit the inner forms using explicit components (like Button or SubmitLink), you can't rely on implicit submit behavior (by using just <input type="submit"> that is not attached to a component). </quote> It is mentioned in other threads, I just don't know what I do wrong. /Steen 2008/1/23, James Carman <[EMAIL PROTECTED]>: > > http://www.thescripts.com/forum/thread95602.html > > > On 1/23/08, Steen Larsen <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > I have seen that nested forms should be possible in Wicket 1.3, so i > have > > tried to use it in one of my projects, but for some reason when > submitting > > the inner form, only the outer form submit method is run. The code looks > > something like this: > > > > In a WebPage class > > > > MandatoryProductsForm form = new > > MandatoryProductsForm("mandatoryProductsForm"); > > add(form); > > Order order = getOrder(); > > form.setModel(new CompoundPropertyModel(order)); > > NewPhoneForm pForm = new NewPhoneForm("phoneForm"); > > pForm.add(new Button("searchPhone")); > > form.add(pForm); > > > > where the forms are > > > > class MandatoryProductsForm extends Form { > > MandatoryProductsForm(String s) { > > super(s); > > } > > > > protected void onSubmit() { > > Order order = (Order) getModelObject(); > > System.err.println("pn = " + order.getNewPhoneNumber()); > > setOrder(order); > > setResponsePage(AdditionalProducts.class); > > } > > } > > > > class NewPhoneForm extends Form { > > NewPhoneForm(String s) { > > super(s); > > } > > > > protected void onSubmit() { > > System.err.println("Submit inner form"); > > } > > } > > > > and the html is > > > > <form wicket:id="mandatoryProductsForm"> > > <form wicket:id="phoneForm"> > > <input type="submit" wicket:id="searchPhone" > > value="Søg"/> > > </form> > > <input type="submit" name="continue" value="Videre"> > > </form> > > > > when pressing the searchPhone button I would expect the NewPhoneForm's > > onSubmit method to be run but that doesn't happen. Anyone know why ? > > > > /Steen > > >
