Калитка: Форма в модальном окне - PullRequest
3 голосов
/ 30 августа 2011

Я написал панель, которая поддерживает загрузку файлов / изображений.Таким образом, панель представляет собой простую простую форму.Панель работает на обычной странице Wicket.

Что бы я хотел сделать сейчас: я хотел бы использовать панель в модальном окне.Панель отображается правильно.Однако, когда я отправляю его / загружаю новый файл, мой браузер запрашивает, хочу ли я покинуть страницу.Страница, которая содержит DIV модального окна, является самой формой.

Мое исследование не выявило никакой интересной информации о формах в модальном окне, ожидаю, что оно должно быть автономным (вложенная форма).Я думаю, что это условие выполнено.

Есть ли какая-либо информация, что я сделал неправильно?Есть учебники?

Ответы [ 2 ]

3 голосов
/ 30 августа 2011

Вам необходимо использовать AjaxSubmitButton (или AjaxSubmitLink) для отправки формы.Проблема в том, что модальное окно требует Ajax-связи.Если вы используете окно, чтобы просто обработать всю страницу и не заботиться о Ajax'ности, тогда вы можете переопределить метод ModalWindow#getCloseJavaScript().

2 голосов
/ 31 августа 2011

Как отметил Мартейн, модальное окно опирается на связь AJAX. Поэтому используйте AjaxSubmitButton или эквиваленты. Когда компоненты в главном окне необходимо обновить после отправки модального окна, это можно сделать, добавив их в AjaxRequestTarget.

Однако, когда речь идет о многочастных формах (загрузка файлов), это не совсем работает. Очевидно, многопартийность не очень хорошо работает с AJAX. Нужно сделать трюк IFrame, как указано, например. здесь: http://www.dooriented.com/blog/2008/04/23/wicket-ajax-like-file-upload-on-a-modal-window/

...