我需要在 Inplace JSF中的 关注 上保存值。目前可以使用编辑器标签,但它会显示保存/取消按钮。 我的要求是将数据保存在焦点上。
这是我正在使用的Inplace标记。
<p:inplace id="basic">
<p:inputText value="Edit Me" />
</p:inplace>
是否有任何类似的ajax事件。
<p:ajax event="Something like focusOut" listener="#{bean.myFunction()}"/>
当我使用Blur作为ajax事件时我的代码示例
<p:inplace label="#{serviceCalendarViewManagedBean.selectedService.statusStr}" id="ajaxInplaceStatusEdit" >
<p:ajax event="blur" listener="#{serviceCalendarViewManagedBean.inplaceEdit('StatusEdit')}" update="view" oncomplete="scheduleWidget.update();"/>
<p:selectOneMenu id="statusEditImplace" required="true"
value="#{serviceCalendarViewManagedBean.selectedService.status}"
label="text">
<f:selectItems value="#{serviceCalendarViewManagedBean.serviceStatusList}"
var="status" itemLabel="#{status.title}" itemValue="#{status.id}" />
</p:selectOneMenu>
</p:inplace>
使用此事件时收到的错误消息
/WEB-INF/views/service/servicecalendarview.xhtml @886,153 <p:ajax>
Event:blur is not supported.
答案 0 :(得分:1)
您正在寻找onblur
事件:
当用户离开输入字段时执行JavaScript:
JSF代码:
<p:ajax event="blur" listener="#{bean.myFunction()}"/>
编辑:根据您发布的代码,<p:ajax>
会影响<p:inplace>
应该影响<p:selectOneMenu>
的位置。将<p:ajax>
移到<p:selectOneMenu>
:
<p:inplace label="#{serviceCalendarViewManagedBean.selectedService.statusStr}"
id="ajaxInplaceStatusEdit" >
<p:selectOneMenu id="statusEditImplace" required="true"
value="#{serviceCalendarViewManagedBean.selectedService.status}"
label="text">
<f:selectItems value="#{serviceCalendarViewManagedBean.serviceStatusList}"
var="status" itemLabel="#{status.title}" itemValue="#{status.id}" />
<p:ajax event="blur" listener="#{serviceCalendarViewManagedBean.inplaceEdit('StatusEdit')}"
update="view" oncomplete="scheduleWidget.update();"/>
</p:selectOneMenu>
</p:inplace>