gpt4 book ai didi

validation - 仅当验证未失败时,如何使用目标 =“_blank” 在新窗口中打开报告

转载 作者:行者123 更新时间:2023-12-03 23:52:13 25 4
gpt4 key购买 nike

我有一个需要在另一个选项卡中打开的报告,但前提是验证没有失败。在我的情况下,验证失败,同一页面在另一个选项卡中打开,并显示验证错误。

最佳答案

Luiggi 已经回答了 POST 问题。但是,如果报告可通过 GET 请求获得,则还有其他方法。

  • 使用 window.open()oncomplete .
     <h:form>
    ...
    <p:commandButton action="#{bean.submit}" update="@form"
    oncomplete="if (args &amp;&amp; !args.validationFailed) window.open('reportURL')" />
    </h:form>
  • 或者有条件地渲染一个 <h:outputScript>window.open() .
     <h:form>
    ...
    <p:commandButton action="#{bean.submit}" update="@form" />
    <h:outputScript rendered="#{facesContext.postback and not facesContext.validationFailed}">
    window.open('reportURL');
    </h:outputScript>
    </h:form>
  • 或者使用 PrimeFaces Primefaces#execute()window.open() .
     public void submit() { 
    // ...
    PrimeFaces.current().executeScript("window.open('reportURL');");
    }

  • 第一种方式要求在提交前已经定义好 URL,后两种方式允许您使用动态 URL,如 window.open('#{bean.reportURL}') .

    关于validation - 仅当验证未失败时,如何使用目标 =“_blank” 在新窗口中打开报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14584187/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com