Renderização de mascaras com Jquery +PrimeFaces

Galera bom dia

Estou com uma duvida sobre o comportamento do Jquery na minha aplicação.

em uma determinada tela tenho uma mascara para hora que funciona perfeitamente, o botão que faz o submit é do prime faces e seto a propriedade ajax = “true” pois não quero fazer uma requisição sem ajax e apos esse processo quando entro na tela para fazer novos inputs a mascara não funciona mais.
Caso eu troque o valor do ajax para false ou dê f5 na minha pagina a mascara funciona perfeitamente?

Alguem sabe o porque isso funciona dessa maneira?

Você tentou dar um update no campo que é enviado na requisição ?

tentei mas não funcionou.

Estava observando que o update do prime faces não funciona para atualizar um campo por exemplo de dentro do mesmo form que submeteu as informações.

caso alguem tenha conseguido fazer esse update dentro do mesmo form me informe.

Qual a máscara u vc está utilizando???

verifique se o inputMask do primefaces não serve para vc…

Já precisei usar uma máscara para moeda com primefaces, como o inputMask não serviu, tentei sem sucesso utilizar Jquery, da uns conflitos com o primefaces, que usa jquery…

A solução pra mim foi utilizar javascript msm…

A única coisa ue fiz foi ter q colocar a função javascript dentro do form, pra poder funcionar, ficou feio o código, mas foi o único jeito que funcionou…

Amigo warrior, poderia colocar esse função javascript bem como fez pra chamá-lo, preciso de uma solução mas até agora naum consegui nd…

luxu,

eu uso a função abaixo, eu uso facelets, e tive que colocar a função dentro do ui:define onde estava o form pra poder funcionar…

[code]
function mascara(o, f) {
v_obj = o;
v_fun = f;
setTimeout(“execmascara()”, 1);
}

        function execmascara() {
          v_obj.value = v_fun(v_obj.value);
        }

     function valor(v) {
    v = v.replace(/\D/g, "");
    v = v.replace(/[0-9]{15}/, "inválido");
    v = v.replace(/(\d{1})(\d{11})$/, "$1.$2"); // coloca ponto antes dos
    // últimos 11 digitos
    v = v.replace(/(\d{1})(\d{8})$/, "$1.$2"); // coloca ponto antes dos
    // últimos 8 digitos
    v = v.replace(/(\d{1})(\d{5})$/, "$1.$2"); // coloca ponto antes dos
    // últimos 5 digitos
    v = v.replace(/(\d{1})(\d{1,2})$/, "$1,$2"); // coloca virgula antes dos
    // últimos 2 digitos
    return v;

}

                </script>[/code]

no componente:

<p:inputText id="custoUni"  label="custoUni" value="#{ProdutoBean.valor}" maxlength="11" size="20" required="true" requiredMessage="Informe o Preço unitário" onkeypress="mascara(this, valor);" />