【问题标题】:Ajax-call not fired ONCE after onclick='window.open(...)'在 onclick='window.open(...)' 之后没有触发一次 Ajax 调用
【发布时间】:2014-09-04 10:00:55
【问题描述】:

p:selectOneMenu 上的选择将使用屏幕名称和屏幕缩略图更新 screen_prop 面板。但是 screen_prop 的 ajax 更新在单击 h:graphicImage 后停止工作一次,这会触发 window.open 以在新选项卡中显示图像。

screenBean 和 pageBean 都具有 SessionScoped。

对发生的事情有任何想法吗? 谢谢。

<p:panelGrid id="panel">
    <h:form id="form">
        <p:selectOneMenu id="screen_selection" value="#{screenBean.selectedScreenId}">
            <f:selectItems 
                value="#{pageBean.screenIds}" var="scr"
                itemLabel="#{scr.name}" itemValue="#{scr.id}" />
            <p:ajax
                update=":screen_prop"
                listener="#{pageBean.handleSelection}" />
        </p:selectOneMenu>
    </h:form>
</panelGrid>

<panelGrid id="screen_prop">
    <h:outputText id="screen_name" value="#{screenBean.selectedScreenName}"/>

    <h:graphicImage
        value="#{screenBean.getThumbnail(screen.id)}"
        onclick="window.open('screenshot.xhtml?screen_id=#{screen.id}'); return false" />
</panelGrid>

【问题讨论】:

  • 嗨,有或没有“return false”。它不能正常工作:(我昨天试过了。

标签: ajax primefaces window.open selectonemenu


【解决方案1】:

事实证明,我必须将 com.sun.faces.numberOfLogicalViews 的参数值更改为更高的数字才能解决问题。我希望能帮助有同样问题的人:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 2012-11-14
    • 1970-01-01
    • 2011-06-21
    • 2018-04-16
    • 2019-01-31
    相关资源
    最近更新 更多