Jsf 然后在编辑信息时输入文本丢失掩码,什么´;怎么了?

Jsf 然后在编辑信息时输入文本丢失掩码,什么´;怎么了?,jsf,primefaces,jquery-inputmask,Jsf,Primefaces,Jquery Inputmask,我需要在点击hiperlink后在InputText字段中显示掩码,以便在我的表单中编辑信息。 当我第一次访问表单时,inputext字段会正确显示掩码 按照我的代码: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script> <label for="inputcpf">CPF</label&

我需要在点击hiperlink后在InputText字段中显示掩码,以便在我的表单中编辑信息。 当我第一次访问表单时,inputext字段会正确显示掩码

按照我的代码:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script>

    <label for="inputcpf">CPF</label>
    <h:inputText class="form-control" required="false" value="#{clienteBean.cliente.cpf}" id="inputcpf" requiredMessage="Informe o CPF do cliente." pl:placeholder="Informe o CPF" />        

    <script type="text/javascript">
      $("#inputcpf").mask("999.999.999-99");
    </script>

中央公积金
$(“#输入CPF”).mask(“999.999.999-99”);
以及代码的编辑部分:

    <p:column style="width:260px;" headerText="Nome" >
      <f:ajax event="click" execute="@this" render="@form" listener="#{clienteBean.preparaAlteracao}">
      <h:commandLink value="#{dados.nome}">
        <f:param name="id" value="#{dados.id}" /> 
      </h:commandLink>
      </f:ajax>                                                                                                 
    </p:column> 


单击链接后,数据将加载到字段中,但带掩码的字段不显示掩码

只要聚焦输入,就会显示掩码。 您可能将输入嵌入到
h:form
中,如下所示:

<h:form id="myForm">
    <h:inputText ... id="inputcpf" .../>        
</h:form>
$("#myForm\\:inputcpf")
因此,jQuery选择器应该如下所示:

<h:form id="myForm">
    <h:inputText ... id="inputcpf" .../>        
</h:form>
$("#myForm\\:inputcpf")
您可以在中找到有关客户端id的更多信息。如果您的客户端id不包含父窗体的id作为前缀(或任何其他前缀),则您很可能正在使用
prependId=“false”
,由于中所述的原因,应防止使用该前缀


但是在您的案例中,获得屏蔽输入的最简单和最稳定的方法是使用PrimeFaces组件。使用当前方法,一旦使用AJAX更新输入,掩码就会丢失。您还必须更新
脚本
元素,以便再次执行
掩码
功能,并在更新的
输入上设置掩码

我通过primefaces代码更改代码。跟着

    <h:form id="form">
    <h:inputHidden value="#{userBean.user.id}" />
    <p:inputText required="true" value="#{userBean.user.name}" id="inputName" />
    <p:inputMask mask="(99)99999-9999" value="#{userBean.user.phone}" id="inputPhone" >
        <p:keyFilter regEx="/[a-z0-9_]/i"/>
    </p:inputMask>
    <p:commandButton value="Save" update="@form" process="@form" actionListener="#{userBean.saveUser}" />

我保存用户并刷新所有页面。。。新用户被插入到datatable列表中。 然后我有一个包含所有用户的数据表

下一步我需要点击编辑链接编辑信息。。。此时,数据填充在字段中,但输入字段中的字段丢失了解掩码

    <p:dataTable id="list_users" var="dados" value="#{userBean.allUsers}">
    <p:column>
       <f:facet name="header">ID</f:facet> 
       <h:outputText value="#{dados.id}" />
    </p:column>
    <p:column>
       <f:facet name="header">Name</f:facet> 
       <h:outputText value="#{dados.name}" />
    </p:column>
    <p:column headerText="Ação">
      <f:facet name="header">Ação</f:facet> 
      <f:ajax event="click" render="@form" listener="#{userBean.editUser}">
        <h:commandLink>
          <f:param name="id" value="#{dados.id}" />                                                             
          <h:outputText value="edit" />
        </h:commandLink>
    </f:ajax>
    </p:column>
    </dataTable>

身份证件
名称
Ação

它是否显示占位符
通知CPF