Как закрыть всплывающее окно и открыть следующую страницу в главном окне в ROR? - PullRequest
2 голосов
/ 30 августа 2008

У меня есть всплывающее окно, содержащее форму, которая собирает данные для отчета. Когда я нажимаю «Отправить» в этом окне, я хочу, чтобы оно закрыло всплывающее окно и открыло отчет в исходном окне, которое называется всплывающим.

Я думаю, что могу открыть отчет в правильном окне, используя

{ :target => <name of window> }

в form_tag, но я не знаю, как определить или установить имя исходного окна.

Я также не знаю, как закрыть всплывающее окно.

Ответы [ 4 ]

2 голосов
/ 02 октября 2008

:target => добавляет целевой атрибут html к ссылке. Это открывает новое окно и называет новое окно целью.

Вы должны использовать javascript или Ajax для перенаправления старой страницы,

window.opener.location.href="http://new_url";

, а затем закройте старое окно.

window.close();

Это можно сделать либо через файл rjs, либо непосредственно в javascript.

0 голосов
/ 15 января 2009

Попробуйте это:

function fclosepopup(){
window.opener.location.replace="URL";
window.close();
}

Это закроет текущее окно и приведет вас к следующей странице в родительском окне.

0 голосов
/ 30 августа 2008

Всплывающее окно можно закрыть с помощью события onClick html следующим образом:

<%= submit_tag "Go!", {:onClick => "window.close()"} %>
0 голосов
/ 30 августа 2008

Как это для начинающих?

# The submit button in your child window's view:
<%= button_to_function 'Save', "$('my_form').submit(); window.opener.location.reload(); window.close();" %> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...