2010-12-31 5 views
1

Открываю всплывающее окно из X.jsp, и всплывающее окно представлено Y.jsp. Второй jsp имеет кнопку. Я хотел бы сделать это, чтобы обновить родительскую страницу (ту, которая запускает всплывающее окно), как только эта кнопка будет удалена. Кнопка «Сохранить» ниже вызовет метод в фонотеке «copyScriptForVersion», и я закрываю всплывающее окно нажатием кнопки. Как я могу также обновить родительское окно после закрытия всплывающего окна?Обновить родительское окно после закрытия всплывающего окна

<h:commandButton type="submit" value="Save" action="#{copyScriptForVersion.SaveAction}" onclick="window.close()"/> 

Я попытался добавить window.opener.reload(), как этот OnClick = "window.close(); window.opener.reload();", но это не сработало.

Я также попытался добавить следующее тела OnUnload = "window.opener.location.reload (1);">

Но, я получил "window.opener.location является нулевым или не является объектом" ошибка ,

+0

попробуйте закрыть окно ПОСЛЕ перезагрузки открывалка. – weltraumpirat

ответ

1

Прежде всего, вы должны сделать window.close() как последнее действие в обработчике onClick. В противном случае, возможно, он никогда не будет выполнен.

Во-вторых, если перезарядка() не работает, попробуйте:

window.opener.location.href = window.opener.location.href; window.close(); 

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

+0

Я пробовал оба, но я получил «window.opener.reload null или не объект» – user246392

+0

Что вы получили за href? – DVK

+0

Такая же ошибка, я также попробовал opener.reload и opener.opener.reload на основе нескольких сайтов. На данный момент ничего не работает. – user246392

0

Попробуйте это может помочь другим, а ,,

`new = window.open(url); 
     new.focus(); 
     check = setInterval(function() { 
      if (new.closed) { 
       window.location.reload(true) 
      }}, 1000);`