我的应用程序出现了一些奇怪的问题。
我需要做以下事情,我通过使用ajax事件
实现1。动态添加制表符(使用制表符更改事件)。当我们点击+ TAB,它会创建一个新的TAB
<p:ajax event="tabChange" listener="#{userBookBean.onBookTabChange}" update ="booksTabview"/>
2。删除TAB(使用TAB关闭事件)
<p:ajax event="tabClose" listener="#{userBookBean.onBookTabClose}" update="booksTabview" />
3。每个选项卡有5个输入字段(标题,作者,出版商,评级(好,非常好,优秀,必读)和评论)所有输入字段都有自己的ajax blur事件调用来提交其值。否则,当切换制表符时,所有的值都是清晰的。
4。标签标题可以通过使用一个输入字段(模糊事件)来更新
<p:tab id="bookTab" title="#{book.title}">
<p:inputText value=#{book.title}">
<p:ajax event="blur" update="bookTab">
</p:inputText>
以上都运行良好。
除了当我使用commandButton提交表单,编辑这些字段之后。需要点击两次按钮首先单击发送带有编辑字段值的ajax请求第二个人提交完整的表格。
<p:commandButton value="Submit" actionListener="#{bookBean.submit}" update=":booksform :breadcrumpform :successgrowl :errorgrowl :exceptionDialog" />
有办法解决这个问题吗?或者我的代码出了什么问题?
当我们点击Command Button时,它将触发以下两个事件
mousedown1.2. mouseup
如果我们在编辑ajax启用的输入字段后单击按钮,ajax状态模型对话框将出现在这些事件之间
所以第二个不能到达服务器。
解决方案:
<p:commandButton value="save" onfocus="PF('statusDialog').hide();" actionListener="#{reportInfoBean.submit}"/>
如有其他方法请告知