Jsf p:cellEditor在单击链接时不会将textarea保存在Blur上
在单元格外单击时,将文本保存在Jsf p:cellEditor在单击链接时不会将textarea保存在Blur上,jsf,primefaces,Jsf,Primefaces,在单元格外单击时,将文本保存在p:cellEditor>p:inputExtArea中非常有效onblur。 但是,当单击来自p:cellEditor>p:InputExtArea的链接(例如commandButton、commandLink)时,它不会事先执行p:ajaxcellEdit事件。而是执行单击的链接 这是不正确的,因为它适用于没有p:cellEditor的p:InputExtArea。我意识到这可能是一个Primefaces bug。你知道怎么解决这个问题吗 <p:dataT
p:cellEditor>p:inputExtArea
中非常有效onblur
。
但是,当单击来自p:cellEditor>p:InputExtArea
的链接(例如commandButton、commandLink)时,它不会事先执行p:ajax
cellEdit
事件。而是执行单击的链接
这是不正确的,因为它适用于没有p:cellEditor的p:InputExtArea
。我意识到这可能是一个Primefaces bug。你知道怎么解决这个问题吗
<p:dataTable>
<p:ajax event="cellEdit" listener="#{bean.onCellEdit}" />
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{model.text}" />
</f:facet>
<f:facet name="input">
<p:inputTextarea value="#{model.text}" />
</f:facet>
</p:cellEditor>
<p:dataTable>
<p:commandButton actionListener="#{bean.someOtherAction}" />
我向Primefaces提交了bug。但是通过javascript/jQuery有解决方法吗?在Primefaces bug报告没有成功之后,我将侦听器直接连接到所有p:cellEditor
实例。它似乎起作用了,我不再失去投入了
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{model.text}" />
</f:facet>
<f:facet name="input">
<p:inputTextarea value="#{model.text}">
<!-- this is the relevant line -->
<p:ajax listener="#{bean.onCellEdit}" global="false" update="@this" />
<!-- end relevant line -->
</p:inputTextarea>
</f:facet>
</p:cellEditor>
我做的很相似,但没有
。在那种模式下,这对我不起作用。
但是如果你使用
经过数小时的尝试,您的解决方案是唯一有效的解决方案,尽管我仍然不清楚如何解决。你能在这里添加你的primefaces bug ID以便我跟踪它吗?非常感谢!
<p:column>
<p:selectBooleanCheckbox value="#{listElement.field1}">
<p:ajax listener="#{bean.saveAction}" global="false" update="@this"/>
</p:selectBooleanCheckbox>
</p:column>
<p:column>
<p:inputTextarea value="#{listElement.field2}">
<p:ajax listener="#{bean.saveAction}" global="false" update="@this"/>
</p:inputTextarea>
</p:column>
</p:dataTable>