Bom tarde gente.
Tenho uma aplicação que usa JSF2 com richfaces 4 e tenho um problema, tenho um formulario que serve pra cadastro, e nele eu utilizo uma função jquery para criar mascaras, até ai tudo bem, a primeira vez q utilizo o formulario para salvar um primeiro contato a mascara funciona perfeitamente, porém ao tentar salvar o segundo contato, a mascara do jquery ja nao funciona mais.
Percebi q isso deve ser culpa do richfaces, pois o botao que grava o contato no banco de dados é um a4j:commandButton, se eu troco ele por um h:commandButton, a mascara continua funcionando mesmo depois de salvar mais de um contato, porém eu gostaria ainda de usar o a4j:commandButton , alguém tem alguma ideia do pq isso acontece?
PS: é possivel carregar uma função do jquery externamente(ou seja, de dentro de um arquivo .js) usando alguma tag do richfaces tipo o rich:jquery?
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="/template/principalSec.xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:c="http://java.sun.com/jsp/jstl/core"
>
<ui:define name="migalha">
Home > Curriculum > Cadastro > Pessoas
</ui:define>
<ui:define name="body">
<div align="center">
<rich:panel header="Pessoas" >
<h:form id="FormPessoas" >
<h:inputHidden id="pesId" value="#{gravaPessoas.pes_id}"/>
<table class="alinhaDireita">
<tr>
<td>ID:</td>
<td><h:inputText id="pesIdLeitura" disabled="true" value="#{gravaPessoas.pes_id}"/></td>
</tr>
<tr>
<td>Primeiro Nome:*</td>
<td><h:inputText id="pesPrenome" required="true" requiredMessage="O campo deve ser preenchido" value="#{gravaPessoas.pes_prenome}"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesPrenome" /></td>
</tr>
<tr>
<td>Nome do Meio:*</td>
<td><h:inputText id="pesNomeMeio" required="true" value="#{gravaPessoas.pes_nome_meio}"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesNomeMeio" /></td>
</tr>
<tr>
<td>Sobrenome:*</td>
<td><h:inputText id="pesSobrenome" required="true" value="#{gravaPessoas.pes_sobrenome}"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesSobrenome" /></td>
</tr>
<tr>
<td>Nome do pais de Origem:*</td>
<td><h:inputText id="pesPaisOrigem" required="true" value="#{gravaPessoas.pes_nome_pais_origem}"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesPaisOrigem" /></td>
</tr>
<tr>
<td>Cidade:*</td>
<td><h:selectOneMenu id="cidId" required="true" value="#{gravaPessoas.cid_id}">
<f:selectItems value="#{listaCidade.suaLista}" var="u" itemLabel="#{u.cid_nom}" itemValue="#{u.cid_id}" />
</h:selectOneMenu></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="cidId" /></td>
</tr>
<tr>
<td>Data de Nascimento:*</td>
<td><h:inputText id="pesDataNascimento" styleClass="data" required="true" value="#{gravaPessoas.pes_data_nascimento}" >
<f:convertDateTime type="date" pattern="dd/MM/yyyy" locale="pt_BR" timeZone="GMT-3"/>
</h:inputText></td>
<td>dd/mm/aaaa</td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesDataNascimento" /></td>
</tr>
<tr>
<td>Data de Expedição do RG:</td>
<td><h:inputText id="pesRgDat" styleClass="data" value="#{gravaPessoas.pes_rg_dat}" >
<f:convertDateTime type="date" pattern="dd/MM/yyyy" locale="pt_BR" timeZone="GMT-3"/>
</h:inputText></td>
<td>dd/mm/aaaa</td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesRgDat" /></td>
</tr>
<tr>
<td>Numero do RG:</td>
<td><h:inputText id="pesRgNum" value="#{gravaPessoas.pes_rg_num}"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesRgNum" /></td>
</tr>
<tr>
<td>Orgão expedidor do RG:</td>
<td><h:inputText id="pesRgExpedido" value="#{gravaPessoas.pes_rg_expedidor}"/></td>
</tr>
<tr>
<td>Estado expedidor do RG:</td>
<td><h:selectOneMenu id="pesRgEstado" value="#{gravaPessoas.est_id}">
<f:selectItems value="#{listaEstado.suaLista}" var="u" itemLabel="#{u.est_nom}" itemValue="#{u.est_id}" />
</h:selectOneMenu></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesRgEstado" /></td>
</tr>
<tr>
<td>CPF:</td>
<td><h:inputText id="pesCpf" styleClass="cpf" value="#{gravaPessoas.pes_cpf}">
<f:converter converterId="CpfConverter"/>
</h:inputText></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesCpf" /></td>
</tr>
<tr>
<td>Telefone1:</td>
<td><h:inputText id="pesTelefone1" value="#{gravaPessoas.pes_telefone1}" styleClass="fone">
<f:converter converterId="TelefoneConverter"/>
</h:inputText></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesTelefone1" /></td>
</tr>
<tr>
<td>Telefone2:</td>
<td><h:inputText id="pesTelefone2" value="#{gravaPessoas.pes_telefone2}" styleClass="fone">
<f:converter converterId="TelefoneConverter"/>
</h:inputText></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesTelefone2" /></td>
</tr>
<tr>
<td>Telefone3:</td>
<td><h:inputText id="pesTelefone3" value="#{gravaPessoas.pes_telefone3}" styleClass="fone">
<f:converter converterId="TelefoneConverter"/>
</h:inputText></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesTelefone3" /></td>
</tr>
<tr>
<td>Email Pessoal:</td>
<td><h:inputText id="pesEmailPessoal" value="#{gravaPessoas.pes_email_pessoal}"/><br/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesEmailPessoal" /></td>
</tr>
<tr>
<td>CEP:</td>
<td><h:inputText id="pesCep" value="#{gravaPessoas.pes_cep}" styleClass="cep">
<f:converter converterId="CepConverter"/>
</h:inputText>
</td>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesCep" /></td>
</tr>
</tr>
<tr>
<td>Logradouro:</td>
<td><h:inputText id="pesLogradouro" value="#{gravaPessoas.pes_logradouro}"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesLogradouro" /></td>
</tr>
<tr>
<td>Bairro:</td>
<td><h:inputText id="pesBairro" value="#{gravaPessoas.pes_bairro}"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesBairro" /></td>
</tr>
<tr>
<td>Numero:</td>
<td><h:inputText id="pesNumero" value="#{gravaPessoas.pes_numero}"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="pesNumero" /></td>
</tr>
<tr>
<td>Complemento:</td>
<td><h:inputText id="pesComplemento" value="#{gravaPessoas.pes_complemento}"/></td>
</tr>
</table>
<br/>
<h:commandButton immediate="true" onclick="limpador()" value="Limpar"/>
<a4j:commandButton id="gravar" render="out,FormPessoas" value="Gravar" action="#{gravaPessoas.gravar}" />
<a4j:commandButton id="excluir" render="out,FormPessoas" value="Excluir" action="#{gravaPessoas.excluir}" />
</h:form>
</rich:panel>
<br/>
<rich:message for="gravar" /><rich:message for="excluir" />
<br/><br/>
</a4j:outputPanel>
<br/>
</h:form>
</rich:panel>
<br/>
</div>
</ui:define>
</ui:composition>