表单更新后不会触发ajax

时间:2013-07-05 12:15:16

标签: ajax jsf mojarra jsf-2.2

请参阅以下代码:

<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 /按钮问题的问题:commandButton/commandLink/ajax action/listener method not invoked or input value not updated并且这可能与该列表中没有7有关。但是,我不明白,我想知道如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

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

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