Linking the thread with the existing ticket:
https://issues.apache.org/jira/browse/WICKET-1826
<https://issues.apache.org/jira/browse/WICKET-1826>I attached the described
patch in it.

On Mon, Jan 24, 2011 at 5:30 PM, Pedro Santos <[email protected]> wrote:

> At the linked thread Matej wrote about serialize the parent form of the
> modal inner form on its submit. I think it would end up sending unnecessary
> data back to server, since it is quite safe assume that user did not change
> anything outside the modal window.
>
> The FormComponent#inputChanged method are assuming that if the form
> component is nullable it can live with the nullified rawInput. But it is not
> true, it would be better assume when form input name is not set in request
> parameters that there is no raw input. I tested this change on 1.4, fix the
> quickstart and all tests on the wicket 1.4.
>
> I'll give this change more test, but if you already know an potential
> problem on it give me a tip.
>
>
> ---------- Forwarded message ----------
> From: Martin Makundi <[email protected]>
> Date: Mon, Jan 24, 2011 at 3:31 AM
> Subject: Re: wicket nested form and modal
> To: [email protected]
>
>
> Here is a workaround
> http://www.mail-archive.com/[email protected]/msg35946.html
>
> **
> Martin
>
> 2011/1/24 Clément Tamisier <[email protected]>:
> > Hi, I have something strange with wicket 1.4 and I don't find what.
> > I have 2 nested forms. The inner form (form2) is in a modal window, and
> when
> > I validate this form (form2) the checkbox of "main" form (form1) become
> > unchecked (which is initially checked).
> > to test: click on "click" and submit the form of modal window showed ->
> > checkbox become unchecked.
> > PS : if I uncheck my checkbox manually and retry, it's works.
> > I include this this project in the mail. You can launch it with: "mvn
> clean
> > compile jetty:run"
> > Do you have any ideas. Thank you very much.
> > Clément
> >
> > HelloWorld.java
> > public class HelloWorld extends WebPage {
> > private CheckBox checkbox;
> > private ModalWindow modalWindow;
> > @SuppressWarnings("serial")
> > public HelloWorld() {
> > Form<Object> form = new Form<Object>("form1");
> > add(new AjaxLink<Object>("click") {
> > @Override
> > public void onClick(AjaxRequestTarget target) {
> > modalWindow.show(target);
> > }
> > });
> > checkbox = new CheckBox("checkbox", new Model<Boolean>(true));
> > checkbox.add(new OnChangeAjaxBehavior() {
> > @Override
> > protected void onUpdate(AjaxRequestTarget target) {
> > System.out.println("checkbox set to :"+checkbox.getModelObject());
> > }
> > });
> > checkbox.setOutputMarkupId(true);
> > modalWindow = new ModalWindow("modal");
> > SubmitPanel panel = new SubmitPanel("content", checkbox, modalWindow);
> > modalWindow.setContent(panel);
> > form.add(checkbox);
> > form.add(modalWindow);
> > form.add(new AjaxButton("submitForm") {
> > @Override
> > protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
> > System.out.println("on submit checkbox is :"+checkbox.getModelObject());
> > }
> > });
> > add(form);
> > }
> > }
> >
> > HelloWorld.html
> > <html>
> > <body>
> > <form wicket:id="form1">
> > <div wicket:id="modal"></div>
> > <input type="checkbox" wicket:id="checkbox" />
> > <input type="submit" wicket:id="submitForm" />
> > </form>
> > <a wicket:id="click">click</a>
> > </body>
> > </html>
> >
> > SubmitPanel.java
> > public class SubmitPanel extends Panel{
> > public SubmitPanel(String id, final CheckBox checkbox, final ModalWindow
> > modalWindow) {
> > super(id);
> > Form<Object> form =new Form<Object>("form2");
> > form.add(new AjaxButton("submitForm2") {
> > @Override
> > protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
> > checkbox.setModelObject(true);
> > target.addComponent(checkbox);
> > modalWindow.close(target);
> > }
> > });
> > add(form);
> > }
> > }
> >
> > SubmitPanel.html
> > <wicket:panel>
> > <form wicket:id="form2">
> > <input type="submit" wicket:id="submitForm2" />
> > </form>
> > </wicket:panel>
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
>
> --
> Pedro Henrique Oliveira dos Santos
>



-- 
Pedro Henrique Oliveira dos Santos

Reply via email to