【问题标题】:p:cellEditor does not save textarea onblur when clicking a linkp:cellEditor 在单击链接时不保存 textarea onblur
【发布时间】:2014-09-29 11:54:31
【问题描述】:

p:cellEditor > p:inputTextarea 中保存文本在onblur 中在单元格外部单击时效果很好。 但是,当单击来自 p:cellEditor > p:inputTextarea 的链接(例如 commandButton、commandLink)时,它不会事先执行 p:ajax cellEdit 事件。而是执行点击的链接。

这是不正确的,因为它适用于没有 p:cellEditorp:inputTextarea。我意识到这也可能是一个 Primefaces 错误。知道如何解决这个问题吗?

<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。但是有没有通过 javascript/jQuery 解决这个问题的方法?

【问题讨论】:

    标签: jsf primefaces


    【解决方案1】:

    在 Primefaces 错误报告没有成功后,我最终将侦听器直接连接到所有 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 错误 ID,以便我可以跟踪它吗?非常感谢!
    【解决方案2】:

    我做的很相似,但没有&lt;p:cellEditor&gt;。在那种对我不起作用的模式下。 但如果你只使用

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 2014-03-25
      • 2013-10-29
      • 1970-01-01
      • 2022-01-26
      • 2021-02-02
      相关资源
      最近更新 更多