![](/img/trans.png)
[英]p:dataTable not updated by PrimeFaces.current().ajax().update
[英]PrimeFaces.current().focus Not working on commandButton
PrimeFaces.current().focus 方法与 inputTexts 一起工作,但使用 commandButton 我看不到结果,替代方案我可以使用 executeScript 但想法是将焦点用于这种需求:
这有效:
PrimeFaces.current().executeScript("document.getElementById('frmAperturaCajaMasiva:btnAceptarAperturaCajaMasiva').focus();");
这适用于 inputTexts 但不适用于按钮:
PrimeFaces.current().focus("frmAperturaCajaMasiva:btnAceptarAperturaCajaMasiva");
知道为什么吗? 它是同一件事,但两个命令不同
这是 xhtml 上按钮的代码没什么特别的:)
<p:commandButton id="btnAceptarAperturaCajaMasiva"
value="#{etiquetasMsg.cerrar_caja}" styleClass="cds-icon-button"
icon="cds-icon aprobar"
disabled="#{aperturaMasivaMB.blBtnProcesar}"
title="#{tooltipsMsg.cierrecaja_masiva_cerrar}"
onclick="if(!confirmarSeleccionTabla(PF('dtbFrmCajaWv'),null)){ return false; }"
actionListener="#{aperturaMasivaMB.validarCierreCajaMasivo}"
rendered="#{adminRestriccionMB.validarRestriccion('BTN_CERRAR_CAJAMASIVO')}" />
是的,我知道为什么。 PrimeFaces 中的 focus 方法明确排除了用于聚焦输入字段的按钮。 这是源代码。
focus: function(id, context) {
var selector = ':not(:submit):not(:button):input:visible:enabled[name]';
注意 Jquery 选择器中的“not(:submit):not(:button)”。
源代码: https : //github.com/primefaces/primefaces/blob/master/src/main/resources/META-INF/resources/primefaces/core/core.js#L416-L444
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.