Страница не может быть перезагружена полностью, если ответ содержит iframe после отправки формы с помощью кнопки калитки. Проблема в том, что калитка пытается связать некоторые обработчики событий с window.domready, но терпит неудачу, говоря: «Невозможно связать обработчик события «изменение» с элементом «topRightItemTypeChoice7», потому что элемент не находится в DOM».
Я проанализировал текст ответа с помощью плагина httpfox, и компонент с этим идентификатором существует в ответе.
Ниже приведен фрагмент JS от Wicket, который пытается связать событие.
Wicket.Event.add(window, "domready", function(event) {
$('#topRightItemTypeChoice7').uniform();;
Wicket.Ajax.ajax({"c":"topRightItemTypeChoice7","ad":true,"u":"./PrDashBoardConfigurationPage?5-2.IBehaviorListener.0-container-configuratorForm-topRightDiv-topRightItemTypeChoice","e":"change","m":"POST"});;
Компонент html из ответа
<select name="topRightDiv:topRightItemTypeChoice" id="topRightItemTypeChoice7">
Все работает нормально, когда я просто удаляю iframe со страницы. Есть идеи, чем отличается iframe от window.domready?
<iframe>
, поэтому сложно сказать, в чем проблема.$('...')
найдет элементы DOM только в текущем документе, он не будет искать ни в одном фрейме! Iframe имеет собственный документ. - person martin-g   schedule 02.12.2015