Creé una página web JSF en la que quiero validar el enfoque, es decir, el color del borde del campo de texto debe cambiar a rojo si el usuario lo dejó sin completar. Estoy llamando al método de resaltadoBorder () en el evento Cambiar pero no funcionó. Por favor, sugiérame de la manera correcta. Soy nuevo en la parte JSF.
codigo xhtml
<div class="control-row"> <div class="table"> <div class="cell cell-label1"> <h:outputLabel value="#{pprmsgs.specialist_surname}"> <font style="color: red">*</font> </h:outputLabel> </div> <div class="cell"> <h:inputText styleClass="p-name-demo exempt nameExempt" id="demoSurNameId" tabindex="4" value="#{specialistViewManager.specViewBean.givenName}" onchange="initialCaps(this);setInputDirty();highlightBorder(this);" maxlength="50" autocomplete="off"> <p:ajax event="blur" global="false"></p:ajax> </h:inputText> </div> </div> </div>
Script.js: en este archivo he implementado el método resaltarBorder() para cambiar el color del borde del cuadro de entrada
function highlightBorder(Stringobj) { if(Stringobj.value == "") { $(this).css({ "border":"2px solid red" }); } else { $(this).css({ "border":"" }); } }
Pruebe el evento onkeyup en lugar de onchange.
<input type="text" onkeyup="myFunction()">