我写了一个支持文件/图片上传的面板。所以面板是一个简单的简单形式。该面板适用于普通的Wicket页面。
我现在想做什么: 我想在模态窗口中使用面板。面板显示正确。但是,当我提交/上传新文件时,我的浏览器会提示我是否要离开该页面。包含模态窗口的DIV的页面本身就是一个表单。
我的研究没有发现任何关于模态窗口中的表单的有趣信息,期望它必须是自包含的(嵌套表单)。我认为这个先决条件已得到满足。
有没有可用的信息,我做错了什么?任何教程?
答案 0 :(得分:3)
您需要使用AjaxSubmitButton
(或AjaxSubmitLink
)来提交表单。问题是模态窗口需要Ajax通信。如果您使用窗口重新处理整个页面而不关心Ajax,那么您可以覆盖ModalWindow#getCloseJavaScript()
方法。
答案 1 :(得分:2)
正如Martijn指出的那样,模态窗口依赖于AJAX通信。所以使用AjaxSubmitButton
或等价物。在提交模态窗口后需要更新主窗口中的组件时,可以通过将它们添加到AjaxRequestTarget
来完成。
然而,当谈到多部分表单(文件上传)时,这不起作用。显然多部分与AJAX不能很好地配合。必须做一个IFrame技巧,如指出的那样在这里:http://www.dooriented.com/blog/2008/04/23/wicket-ajax-like-file-upload-on-a-modal-window/