You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2012/05/13 17:40:48 UTC

[jira] [Updated] (WICKET-3404) Improve ModalWindow form handling

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

Martin Grigorov updated WICKET-3404:
------------------------------------

    Fix Version/s:     (was: 6.0.0-beta2)
    
> Improve ModalWindow form handling
> ---------------------------------
>
>                 Key: WICKET-3404
>                 URL: https://issues.apache.org/jira/browse/WICKET-3404
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket-extensions
>    Affects Versions: 1.5-RC1
>            Reporter: Sven Meier
>            Assignee: Sven Meier
>         Attachments: ModalWindow.patch, ModalWindow_v2.patch
>
>
> Currently ModalWindow's javascript generates a generic <form> tag into the page.
> This is done to support nested forms while preventing temporary invalid HTML markup in the browser, i.e. a form nested in a another form.
> IMHO this is rather inelegant, which manifests itself in the following note in ModalWindow's javadoc:
> "If you want to use form in modal window component make sure that you put the modal window itself in another form (nesting forms is legal in Wicket) ..."
> I'm always having a hard time to explain this sentence to Wicket newcomers.
> My proposal: Let go of the <form> tag in javascript with the attached patch!
> The changed code now adds ModalWindow's markup first into the HTML page and then replaces its content *directly* with the component's markup to show in the modal window (the current implementation does it the other way around).
> The proposed change would require a migration effort for some usages of ModalWindow though. Forms inside a ModalWindow inside another form have to be 'made root forms', either by overriding isRootForm() and getRootForm() or perhaps we could introduce a new interface (e.g. IFormSeparator) which signals to a form that its containment in another form doesn't make it a nested form.
> Note that this issue is not about esthetics only, we have reocurring usecases in our projects (a form inside a modal window inside another *multipart* form) which require quirks to make it work. I can provide more information on this if required.
> Further note that even standard form submits are now possible on ModalWindows too (might be interesting for multipart uploads directly initiated from a ModalWindow's form).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira