Вызов действия из всплывающего окна - PullRequest
0 голосов
/ 30 августа 2011

Я сталкиваюсь, когда открываю всплывающее окно.

<h:form>
<h:commandButton value="Submit" action="#{bean.submit}">
    <f:ajax render="popup" />
</h:commandButton>

<h:panelGroup id="popup">
    <ui:fragment rendered="#{not empty bean.url}">
        <script>window.open('#{bean.url}');</script>
    </ui:fragment>
</h:panelGroup>
</h:form>

Я хочу вызвать действие, когда закрываю это всплывающее окно

Во-вторых, мне нужно изменить ширину и высоту этого всплывающего окна.

Ответы [ 3 ]

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

я хочу вызвать действие при закрытии этого всплывающего окна

Это возможно только в том случае, если конечный пользователь отправляет <h:form> изнутри всплывающего окна.Вы не можете перехватить действие компонента, когда конечный пользователь нажимает кнопку X или Ctrl + W или Alt + F4.Есть ловушка window.onbeforeunload, но она не позволяет вам надежно отправлять HTTP-запрос на серверную часть, что необходимо для вызова действия компонента.


во-вторых, янеобходимо изменить ширину и высоту этого всплывающего окна.

Вы можете сделать это, предоставив дополнительные аргументы для window.open.См. Также документацию :

window.open('#{bean.url}', 'yourwindowname', 'width=600,height=480');
0 голосов
/ 31 августа 2011

мы используем хук onbeforeunload для вызова функции из всплывающего окна, когда у нас всплывающее окно

<script>
        window.onbeforeunload = function() { 
            document.forms["showpdf"].elements["hiddenBtn"].click();
            }
    </script>
    <h:body>
        <f:view>
            <h:form id="showpdf">
                <iframe src="#{docProd.url}" width="100%" height="100%">     </iframe>
                <div align="center"><p:commandButton id="hiddenBtn"
                    onclick="#{docProd.resetUrl}" style="display:none"   /></div>
            </h:form>
        </f:view>
    </h:body>
    </ui:composition>
0 голосов
/ 30 августа 2011

я хочу вызвать действие, когда я закрываю это всплывающее окно

Дайте кнопку close, выполните желаемое действие и перенаправьте пользователя на страницу, которая должна закрываться при загрузке с помощьюjavascript

во-вторых, мне нужно изменить ширину и высоту этого всплывающего окна.

Вы можете указать height & width в window.open()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...