ValueChange事件和Ajax保存按钮

问题描述:

我有一个问题,我有一个字段ValueChange ajax事件,我有一个保存ajax驱动按钮。当用户编辑该字段,然后单击保存按钮时,会发生该问题。第一次点击发送ValueChange ajax请求并更新其他字段,第二次点击保存表格。这里是一个示例代码ValueChange事件和Ajax保存按钮

<pf:commandButton id="save" value="save" actionListener="#{car.save}"> 
    <pf:ajax process="@form" update="@form" /> 
</pf:commandButton> 

<pf:inputText id="price" value="#{car.price}"> 
    <pf:ajax event="valueChange" process="@form" listener="#{car.calculatePrice}" update=":form:totalPrice"/> 
</pf:inputText> 

有没有办法避免这种情况?我想一种方法是将保存按钮设置为非Ajax按钮。还有其他解决方案吗?谢谢

问题是在项目中的某个地方有一个<p:ajaxStatus>组件,当您想要使@form更新时调暗整个网站。通常JSF没有这个问题。

如果您为您的网站使用<p:ajaxStatus>,并且您面临同样的问题。没有为这一个解决方案,你可以使用,而不是在问题中提到了一个下面的代码

<h:commandButton id="save" value="save"> 
    <pf:ajax event="mousedown" process="@form" update="@form" listner="#{car.save}"/> 
</h:commandButton> 
+0

高兴你解决你的问题,你还是老样子可以通过单击复选标记接受你的答案,以便其他人可以从中受益 – Tarik 2015-02-12 19:19:00

+0

@Tarik:在自己的问题上自己的答案只能在48小时后被接受(所以社区可以有机会发布更好的答案)。 – BalusC 2015-02-13 07:48:04