Маска отображается, как только вы сфокусируете ввод.Скорее всего, у вас есть входные данные, встроенные в h:form
, например:
<h:form id="myForm">
<h:inputText ... id="inputcpf" .../>
</h:form>
. form id
добавляется к отображаемому input id
в html на стороне клиента:
<input id="myForm:inputcpf" ...>
Поэтомуваш селектор jQuery должен выглядеть следующим образом:
$("#myForm\\:inputcpf")
Подробнее об идентификаторе клиента можно узнать в Как узнать идентификатор компонента JSF, чтобы использовать его в Javascript .Если ваш идентификатор клиента не содержит идентификатор родительской формы в качестве префикса (или любой другой NamingContainer ), то вы, скорее всего, используете prependId="false"
, который следует избегать использовать по причинам, описанным в UIForm с prependId = "ложными" перерывами
Но самый простой и стабильный способ получить маскированный ввод в вашем случае - это использовать компонент PrimeFaces <p:inputMask/>
.При вашем текущем подходе маска теряется, как только вы обновляете ввод, используя AJAX.Вам также необходимо обновить элемент script
, чтобы снова выполнить функцию mask
и иметь маску для обновленного input
.