Máscara Data - Richfaces 3 e JSF 1.2 [RESOLVIDO]

3 respostas
LeoCBS

Bom dia galera, não estou conseguindo utilizar o JQuery do Richfaces para colocar máscaras nos inputs:

Minha página xhtml, importei apenas o JS do maskedinput.. não importei mais nenhum arquivo JS..
<a4j:form id="cadastro">
      <a4j:loadScript src="../js/jquery.maskedinput-1.2.2.js"/>
        <h:panelGrid columns="3">
		
			<h:outputLabel value="Data Nascimento:"/>
                        <h:inputText id="dtNascimento" value="#{usuarioBean.usuario.dtNascimento}">
			<rich:jQuery selector="#dtNascimento" query="mask('99/99/9999')" timing="immediate" />
			</h:inputText>
			<h:message for="anoDeNascimento" />
			
			<h:commandButton action="#{usuarioBean.cadastraNovoUsuario}" value="Cadastrar" />
			<h:commandButton action="#{usuarioBean.cadastraNovoUsuario}" value="Cancelar" />
		  </h:panelGrid>
		</a4j:form>
Html gerado:
<td><label>
Ano de Nascimento:</label></td>
<td><script type="text/javascript">//<![CDATA[
 {
	var selector = '#cadastro\\:dtNascimento';
	try {
		selector = eval("\x23\x63\x61\x64\x61\x73\x74\x72\x6F\\\\\x3A\x64\x74\x4E\x61\x73\x63\x69\x6D\x65\x6E\x74\x6F");
	} catch (e) {}
	jQuery(selector).mask('99/99/9999');
}
]]></script><input id="cadastro:dtNascimento" type="text" name="cadastro:dtNascimento" /></td>

Acho que ele não está achando o jQuery(selector).mask('99/99/9999');

tem algum modo de eu ter certeza que o Richfaces importou o JS do JQeury?

alguma dica galera?? já pesquisei de tudo na net.. meu código está igual aos exemplos encontrados..

muito obrigado pela ajuda galera!

3 Respostas

craniac

Tente assim, use a tag rich:jQuery depois de h:inputText e não entre o h:inputText

<a4j:form id="cadastro">
      <a4j:loadScript src="../js/jquery.maskedinput-1.2.2.js"/>
        <h:panelGrid columns="3">
		
			<h:outputLabel value="Data Nascimento:"/>
                        <h:inputText id="dtNascimento" value="#{usuarioBean.usuario.dtNascimento}" />
			<rich:jQuery selector="#dtNascimento" query="mask('99/99/9999')" timing="immediate" />
			<h:message for="anoDeNascimento" />
			
			<h:commandButton action="#{usuarioBean.cadastraNovoUsuario}" value="Cadastrar" />
			<h:commandButton action="#{usuarioBean.cadastraNovoUsuario}" value="Cancelar" />

	  </h:panelGrid>
</a4j:form>
LeoCBS

Valeu pela resposta craniac, mais mesmo assim não funciona

html gerado:
<td><input id="cadastro:dtNascimento" type="text" name="cadastro:dtNascimento" /></td>
<td><script type="text/javascript">//<![CDATA[
 {
	var selector = '#cadastro\\:dtNascimento';
	try {
		selector = eval("\x23\x63\x61\x64\x61\x73\x74\x72\x6F\\\\\x3A\x64\x74\x4E\x61\x73\x63\x69\x6D\x65\x6E\x74\x6F");
	} catch (e) {}
	jQuery(selector).mask('99/99/9999');
}
//]]>
</script></td>
LeoCBS

funcionou craniac

alterei também a importação do jquery.maskedinput-1.2.2.js"

removi o …, dexei apenas o /

<a4j:loadScript src="/js/jquery.maskedinput-1.2.2.js"/>

muito obrigado pela ajuda! abraço!

Criado 13 de março de 2012
Ultima resposta 13 de mar. de 2012
Respostas 3
Participantes 2