Первое, что нужно понять, это то, что браузеры, как правило, не допускают истинных модальных всплывающих окон (с заметным исключением IE). Браузеры на основе Mozilla позволяют вам указать, что окно будет оставаться впереди, но это нельзя считать модальным. Эта статья расширяет эту действительность.
Обычный обходной путь - это отображение модального диалога в DIV вместо другого окна.
Во-вторых, чтобы передать значения из всплывающего окна в родительское окно, вы можете использовать методы Javascript или код на стороне сервера. Первый метод будет включать сначала доступ к родительскому окну (используя свойство window.opener
), а затем извлечение ссылок на элементы в этом родительском окне. См. эту статью для примера.
Метод на стороне сервера потребует, чтобы вы сохранили значения состояния, а затем принудительно обновили Javascript родительского окна (используя window.opener.location.reload();
), чтобы разрешить загрузку этих значений.
Наконец, код, который вы представили, мне кажется правильным. Сообщите нам сообщение об ошибке, которое вы получите ... которое может дать подсказку.