PrimeFaces ajax在另一个字段上更改输入和操作

时间:2015-07-16 19:18:29

标签: ajax jsf primefaces

我有这个代码,其中,在改变输入元素的值时,我会监听并更新其他一些字段。

问题是,当我通过键入内容更改此输入字段的值并点击commandButton并使用id:submit时,它会触发侦听器(可能是因为检查了值的更改)在字段blur期间,但不是收听者X,即actionListener的{​​{1}}。所以我必须再次单击该按钮才能调用侦听器commandButton

当然,如果我通过点击其他地方然后点击X导致输入字段模糊,它会按预期工作。看起来当输入字段的模糊与commandButton的点击一致时,只有模糊发生 - 按钮的点击被简单地忽略。有什么想法吗?

commandButton

编辑:我使用PrimeFaces v5.1和JSF v2.1.19,FWIW。

1 个答案:

答案 0 :(得分:0)

我有一个类似的问题(可能完全相同)使用JSF和PrimeFaces 6.1,并在此处发布:

PrimeFaces inputText ajax event=valueChange fires AFTER commandButton clicked

@ jasper-de-vries回复了一个有效的,有效的解决方案:)

他的帖子的简短摘要是将ajax更新更改为seletor,如下所示:

<p:ajax update="@(form :input:not(button))" />

将更新特定元素(表单)但不更新其他元素(按钮),因为valueChange或change事件会更新所有表单,包括按钮,然后忽略按钮上的第一次单击。