首先,您的
valueChange被触发。这将更新 包含
按钮的表单。无法100%确定这是否取决于浏览器,但是在Chromium(Linux)中,不会执行对先前呈现的按钮(在更新之前)的单击。
将更新表达式更改为选择器时,可以使它工作。我的表达式会更新需要更新的元素(
不包括 按钮)。就我而言:
<p:ajax update="@(form :input:not(button))" />
请注意,该
change事件是输入的默认事件,因此已删除
event="valueChange"。
当然,您不需要使用选择器。您也可以只更新不包含按钮的组件(如面板):
<p:ajax update="yourPanel" />
另外,
ajax="true"的默认设置
p:commandButton,因此您可以将其删除。



