【问题标题】:ajax won't trigger after form update表单更新后ajax不会触发
【发布时间】:2013-07-03 13:05:47
【问题描述】:

请看以下代码:

<h:panelGrid columns="2" border="0" cellpadding="0" cellspacing="0">

    <p:inputText id="text" value="#{xTest.input}">

         <p:ajax process="text" update="searchResult" event="keyup" />

    </p:inputText>

    <h:panelGroup layout="block" id="searchResult" style="border: none;">

         #{xTest.input}

    </h:panelGroup>

</h:panelGrid>

xTest 只是一个虚拟 bean,有一个字段来保存 input,它在 panelGroup 中显示。

现在只要我不更新 ajax 标记中的@form,它就可以正常工作。如果我这样做了,ajax 标记将触发第一个键,但不会在任何后续键之后触发。我已经看到 Balusc 对 commandLink/button 问题的回答:commandButton/commandLink/ajax action/listener method not invoked or input value not updated,也许这与该列表中没有 7 有关。但是,我不明白,我想知道我能做些什么来解决这个问题。

【问题讨论】:

    标签: ajax jsf mojarra jsf-2.2


    【解决方案1】:

    在我看来,JSF 2.2 没有正确发布。它有一些奇怪的错误,目前修复时间很慢。我可以告诉你的是:

    1. 有些东西适用于新命名空间,有些适用于旧命名空间。您可以尝试切换它们并测试
    2. jsf.js 存在错误,尤其是当您使用多部分表单时:请参阅bug
    3. 如果渲染包含表单的组件,请尝试在渲染中添加表单render='comp @form。 (可能有帮助)
    4. 我建议切换回 JSF 2.0 并迁移到 2.2.*,如果它的质量足够的话

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 2020-09-02
      相关资源
      最近更新 更多