从弹出窗口调用操作

时间:2011-08-30 13:08:28

标签: java javascript jsf

当我打开弹出窗口时,我正面临着。

<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 :(得分:0)

  

我想在关闭此弹出窗口时调用操作

close按钮执行所需操作并将用户重定向到一个页面,该页面将在javascript加载时关闭

  

其次我需要改变这个弹出窗口的宽度和高度。

您可以指定height&amp; window.open()

中的width

答案 1 :(得分:0)

  

我想在关闭此弹出窗口时调用操作

只有当最终用户从弹出窗口中提交<h:form>时才有可能。当最终用户按下X按钮或Ctrl + W或Alt + F4时,无法挂钩bean操作。有window.onbeforeunload挂钩,但这不允许您可靠地向服务器端发送HTTP请求,这是调用bean操作所必需的。


  

其次我需要更改此弹出窗口的宽度和高度。

你可以通过向window.open提供额外的参数来做到这一点。另请参阅documentation

window.open('#{bean.url}', 'yourwindowname', 'width=600,height=480');

答案 2 :(得分:0)

  

我们正在使用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>