Olá Leonardo, testei seu script e funcionou numa boa, mas estou tentando chamar uma função de dento de um arquivo .js como faço, segue o Código
formataValor.js
/**
* moeda
*
* @abstract Classe que formata de desformata valores monetários em float e formata valores
* de float em moeda.
*
* @author anselmo
*
* @email anselmobattisti arroba gmail.com
*
* @site battisti.etc.br
*
* @example
* moeda.formatar(1000)
* >> retornar 1.000,00
*
* moeda.desformatar(1.000,00)
* >> retornar 1000
*
* @version 1.0
**/
var moeda = {
/**
* retiraFormatacao
*
* Remove a formatação de uma string de moeda e retorna um float
*
* @param {Object} num
*/
desformatar: function(num){
num = num.replace(".","");
num = num.replace(",",".");
return parseFloat(num);
},
/**
* formatar
*
* Deixar um valor float no formato monetário
*
* @param {Object} num
*/
formatar: function(num){
x = 0;
if(num<0){
num = Math.abs(num);
x = 1;
}
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'
+num.substring(num.length-(4*i+3));
ret = num + ',' + cents;
if (x == 1) ret = ' - ' + ret;return ret;
},
/**
* arredondar
*
* @abstract Arredonda um valor quebrado para duas casas decimais.
*
* @param {Object} num
*/
arredondar: function(num){
return Math.round(num*Math.pow(10,2))/Math.pow(10,2);
}
}
Codigo do xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<h:outputScript name="formataValor.js" library="js" target="head"/>
<title>Manutencao de Clientes</title>
<link type="text/css" rel="stylesheet" href="dot-luv/skin.css" />
</h:head>
<h:body style="margin: 0px; padding: 0; font-size: 12px; color: #616161;">
<p:layout fullPage="true">
<p:layoutUnit position="top" height="75" resizable="false" closable="false" collapsible="false">
<ui:include src="/template/header.xhtml" />
</p:layoutUnit>
<p:layoutUnit position="bottom" height="75" resizable="false" closable="false" collapsible="false">
<ui:include src="/template/footer.xhtml" />
</p:layoutUnit>
<p:layoutUnit position="left" width="250" header="Menu" resizable="true" closable="false" collapsible="true">
<ui:include src="/menu.xhtml" />
</p:layoutUnit>
<p:layoutUnit position="center">
<h1>Manutencao de clientes</h1>
<h:form prependId="false">
<p:dataTable id="tabela" var="grupo" value="#{clienteController.listarClientes}" paginator="true" rows="6" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15">
<p:column filterBy="#{grupo.clieNome}" headerText="Nome do cliente" filterMatchMode="contains">
<h:outputText value="#{grupo.clieNome}"/>
</p:column>
<p:column filterBy="#{grupo.clieNomeDocontato}" headerText="Nome do Contato" filterMatchMode="contains">
<h:outputText value="#{grupo.clieNomeDocontato}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Fone"/>
</f:facet>
<h:outputText value="#{grupo.clieFone1}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Alterar"/>
</f:facet>
<p:commandButton actionListener="#{clienteController.prepararAlterarCliente}" value="Alterar" update="cliece,cliece1,cliece199,cliece2,cliece3,cliece4,cliece5,cliece6,cliece7,cliece8,cliece9,cliece10,cliece10A,cliece11" oncomplete="dialogcliente.show()"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Excluir"/>
</f:facet>
<h:commandLink action="#{clienteController.excluirCliente}" value="Excluir"/>
</p:column>
</p:dataTable>
</h:form>
<h:form prependId="false">
<p:commandLink value="Incluir Novo cliente" actionListener="#{clienteController.prepararAdicionarCliente}" update="cliece,cliece1,cliece199,cliece2,cliece3,cliece4,cliece5,cliece6,cliece7,cliece8,cliece9,cliece10,cliece10A,cliece11" oncomplete="dialogcliente.show()"/>
<p:commandLink value="Voltar" action="index.xhtml" ajax="false"/>
</h:form>
</p:layoutUnit>
</p:layout>
<p:dialog header="Manutencao de clientes" widgetVar="dialogcliente" resizable="false" modal="true" showEffect="slide" width="750" height="600">
<h:form prependId="false">
<h:panelGrid id="cliece" columns="2" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieNome" value="Razao Social:* " id="teste1"/>
<h:outputLabel for="clieNomeFanta" value="Nome Fantasia:" id="teste2"/>
<h:inputText id="clieNome" value="#{clienteController.cliente.clieNome}" size="80" maxlength="80"/>
<h:inputText id="clieNomeFanta" value="#{clienteController.cliente.clieNomeFanta}" size="40" maxlength="40" />
</h:panelGrid>
<h:panelGrid id="cliece1" columns="2" style="margin-bottom:10px" border="0">
<h:outputLabel value="Tipo de Cliente:* " id="teste5A"/>
<h:selectOneRadio id="clieTipoPF_PJ" value="#{clienteController.cliente.clieTipoPF_PJ}">
<f:selectItem itemValue="0" itemLabel="Pessoa Fisica"/>
<f:selectItem itemValue="1" itemLabel="Pessoa Juridica"/>
</h:selectOneRadio>
<h:outputLabel value="Situaçao do Cliente:* " id="teste5B"/>
<h:selectOneRadio id="clieSituacao" value="#{clienteController.cliente.clieSituacao}">
<f:selectItem itemValue="0" itemLabel="Ativo"/>
<f:selectItem itemValue="1" itemLabel="Inativo"/>
</h:selectOneRadio>
</h:panelGrid>
<h:panelGrid id="cliece199" columns="1" style="margin-bottom:10px" border="0">
<h:outputLabel value="Grupo do Cliente:* " id="teste5"/>
<h:selectOneListbox id="escape02" size="1" value="#{clienteController.cliente.clieGrupoDeCliente}">
<f:selectItems value="#{grupoDeClienteController.listarGrupoDeCliente}"
var="n"
itemLabel="#{n.descricaoGrupoDeCliente}"
itemValue="#{n.idGrupoDeCliente}"
/>
</h:selectOneListbox>
</h:panelGrid>
<h:panelGrid id="cliece2" columns="3" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieNomeDocontato" value="Nome do Contato:" id="teste6"/>
<h:outputLabel for="clieEmail" value="Email:" id="teste24"/>
<h:outputLabel for="clieEmailNFE" value="Email NFE:" id="teste24a"/>
<h:inputText id="clieNomeDocontato" value="#{clienteController.cliente.clieNomeDocontato}" size="40" maxlength="40"/>
<h:inputText id="clieEmail" value="#{clienteController.cliente.clieEmail}" size="40" maxlength="40"/>
<h:inputText id="clieEmailNFE" value="#{clienteController.cliente.clieEmailNFE}" size="40" maxlength="40"/>
</h:panelGrid>
<h:panelGrid id="cliece3" columns="2" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieLogradouro" value="Logradouro:* " id="teste7" />
<h:outputLabel for="clieNumeroLogradouro" value="Numero:* " id="teste8"/>
<h:inputText id="clieLogradouro" value="#{clienteController.cliente.clieLogradouro}" size="80" maxlength="80"/>
<p:inputMask mask="?9999" id="clieNumeroLogradouro" value="#{clienteController.cliente.clieNumeroLogradouro}"/>
</h:panelGrid>
<h:panelGrid id="cliece4" columns="2" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieComplementoEndereco" value="Complemento:" id="teste9"/>
<h:outputLabel for="clieBairroLogradouro" value="Bairro:*" id="teste10"/>
<h:inputText id="clieComplementoEndereco" value="#{clienteController.cliente.clieComplementoEndereco}" size="40" maxlength="40"/>
<h:inputText id="clieBairroLogradouro" value="#{clienteController.cliente.clieBairroLogradouro}" size="30" maxlength="30"/>
<h:outputLabel value="UF:* " id="teste12"/>
<h:outputLabel value="Cidade:* " id="teste11"/>
<h:selectOneListbox size="1" id="escape02A" value="#{clienteController.cliente.clieUF}">
<f:selectItem itemLabel="Selecione um estado" itemValue="" />
<f:selectItems value="#{clienteController.listarEstados}"
var="n"
itemValue="#{n.nome}"
itemLabel="#{n.nome}"/>
<p:ajax id="" update="escape02B" listener="#{clienteController.selecionarEstadoPorCidade}" />
</h:selectOneListbox>
<h:selectOneListbox size="1" id="escape02B" value="#{clienteController.cliente.clieCidade}">
<f:selectItem itemLabel="Selecione uma Cidade" itemValue="" />
<f:selectItems value="#{clienteController.listarCidades}"
var="n"
itemValue="#{n.nome}"
itemLabel="#{n.nome}"/>
</h:selectOneListbox>
</h:panelGrid>
<h:panelGrid id="cliece5" columns="2" style="margin-bottom:10px" border="0">
<h:outputLabel value="Pais:* " id="teste13A"/>
<h:outputLabel for="clieCEP" value="CEP:* " id="teste13"/>
<h:selectOneListbox size="1" id="escape02C" value="#{clienteController.cliente.cliePais}">
<f:selectItems value="#{paisController.listarPais}"
var="n"
itemValue="#{n.iso}"
itemLabel="#{n.nome}"/>
</h:selectOneListbox>
<p:inputMask id="clieCEP" value="#{clienteController.cliente.clieCEP}" mask="99999-999"/>
</h:panelGrid>
<h:panelGrid id="cliece6" columns="1" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieObservacao" value="Observacao:" id="teste14"/>
<h:inputTextarea id="clieObservacao" style="width:650px;height:100px;" value="#{clienteController.cliente.clieObservacao}" />
</h:panelGrid>
<h:panelGrid id="cliece7" columns="9" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieDDDFone1" value="DDD:" id="teste15a"/>
<h:outputLabel for="clieFone1" value="Fone:" id="teste15"/>
<h:outputLabel for="clieRamal1" value="Ramal:" id="teste16"/>
<h:outputLabel for="clieDDDFone2" value="DDD:" id="teste16a"/>
<h:outputLabel for="clieFone2" value="Fone:" id="teste17" />
<h:outputLabel for="clieRamal2" value="Ramal:" id="teste18"/>
<h:outputLabel for="clieDDDFone3" value="DDD:" id="teste19a"/>
<h:outputLabel for="clieFone3" value="Fone:" id="teste19"/>
<h:outputLabel for="clieRamal3" value="Ramal:" id="teste20"/>
<p:inputMask id="clieDDDFone1" value="#{clienteController.cliente.clieDDDFone1}" mask="99" size="2" maxlength="2" />
<p:inputMask id="clieFone1" value="#{clienteController.cliente.clieFone1}" mask="9999-9999" size="9" maxlength="9" />
<p:inputMask id="clieRamal1" value="#{clienteController.cliente.clieRamal1}" mask="9999" size="4" maxlength="4"/>
<p:inputMask id="clieDDDFone2" value="#{clienteController.cliente.clieDDDFone2}" mask="99" size="2" maxlength="2" />
<p:inputMask id="clieFone2" value="#{clienteController.cliente.clieFone2}" mask="9999-9999" size="9" maxlength="9"/>
<p:inputMask id="clieRamal2" value="#{clienteController.cliente.clieRamal2}" mask="9999" size="4" maxlength="4"/>
<p:inputMask id="clieDDDFone3" value="#{clienteController.cliente.clieDDDFone3}" mask="99" size="2" maxlength="2" />
<p:inputMask id="clieFone3" value="#{clienteController.cliente.clieFone3}" mask="9999-9999" size="9" maxlength="9"/>
<p:inputMask id="clieRamal3" value="#{clienteController.cliente.clieRamal3}" mask="9999" size="4" maxlength="4"/>
</h:panelGrid>
<h:panelGrid id="cliece8" columns="6" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieDDDFax" value="Fax:" id="teste21a"/>
<h:outputLabel for="clieFax" value="Fax:" id="teste21"/>
<h:outputLabel for="clieDDDFax2" value="Fax:" id="teste22a"/>
<h:outputLabel for="clieFax2" value="Fax:" id="teste22"/>
<h:outputLabel for="clieDDDFax3" value="Fax:" id="teste23a"/>
<h:outputLabel for="clieFax3" value="Fax:" id="teste23"/>
<p:inputMask id="clieDDDFax" value="#{clienteController.cliente.clieDDDFax}" mask="99" size="2" maxlength="2"/>
<p:inputMask id="clieFax" value="#{clienteController.cliente.clieFax}" mask="9999-9999"/>
<p:inputMask id="clieDDDFax2" value="#{clienteController.cliente.clieDDDFax2}" mask="99" size="2" maxlength="2"/>
<p:inputMask id="clieFax2" value="#{clienteController.cliente.clieFax2}" mask="9999-9999"/>
<p:inputMask id="clieDDDFax3" value="#{clienteController.cliente.clieDDDFax3}" mask="99" size="2" maxlength="2"/>
<p:inputMask id="clieFax3" value="#{clienteController.cliente.clieFax3}" mask="9999-9999"/>
</h:panelGrid>
<h:panelGrid id="cliece9" columns="4" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieCNPJ_CPF" value="CPF / CNPJ:* " id="teste25"/>
<h:outputLabel for="clieRG_IE" value="RG / Inscricao Estadual:* " id="teste26"/>
<h:outputLabel for="clieCT_CCM" value="CTCCM:" id="teste27"/>
<h:outputLabel for="clieIncrSuframa" value="Inscricao Suframa:" id="teste28"/>
<p:inputMask id="clieCNPJ_CPF" value="#{clienteController.cliente.clieCNPJ_CPF}" mask="999.999.999/9999-99"/>
<p:inputMask id="clieRG_IE" value="#{clienteController.cliente.clieRG_IE}" mask="999.999.999-9999"/>
<h:inputText id="clieCT_CCM" value="#{clienteController.cliente.clieCT_CCM}"/>
<h:inputText id="clieIncrSuframa" value="#{clienteController.cliente.clieIncrSuframa}"/>
</h:panelGrid>
<h:panelGrid id="cliece10" columns="4" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieValorDeCredito" value="Valor do Limite de Crédito:" id="teste30"/>
<h:inputText id="clieValorDeCredito" onblur="moeda.formatar(1000);" value="#{clienteController.cliente.clieValorDeCredito}" />
<h:outputLabel for="clieSaldoConta" value="Saldo da Conta:" id="teste31"/>
<h:inputText id="clieSaldoConta" onblur="moeda.formatar(1000);" value="#{clienteController.cliente.clieSaldoConta}"/>
</h:panelGrid>
<h:panelGrid id="cliece10A" columns="2" style="margin-bottom:10px" border="0">
<h:outputLabel for="clieBloqueiaVendaFaturada" value="Venda Faturada:" id="teste30A"/>
<h:selectOneRadio id="clieBloqueiaVendaFaturada" value="#{clienteController.cliente.clieBloqueiaVendaFaturada}">
<f:selectItem itemValue="0" itemLabel="Sim"/>
<f:selectItem itemValue="1" itemLabel="Nao"/>
</h:selectOneRadio>
<h:outputLabel for="CRT" value="CRT:" id="teste30B"/>
<h:selectOneListbox size="1" id="CRT" value="#{clienteController.cliente.clieCRT}">
<f:selectItem itemLabel="Simples Nacional" itemValue="1" />
<f:selectItem itemLabel="Simples Nacional com excesso de sublimite" itemValue="2" />
<f:selectItem itemLabel="Regime Normal" itemValue="3" />
</h:selectOneListbox>
</h:panelGrid>
<h:panelGrid id="cliece11" columns="2" style="margin-bottom:10px" border="0">
<p:commandButton update="tabela" onsuccess="dialogcliente.hide()" actionListener="#{clienteController.adicionarCliente}" value="Inserir cliente" ajax="true"/>
<p:commandButton update="tabela" onsuccess="dialogcliente.hide()" actionListener="#{clienteController.alterarCliente}" value="Alterar cliente"/>
</h:panelGrid>
</h:form>
</p:dialog>
</h:body>
</html>
Estou testando com um valor fixo de 1000.
Desde ja agradeço.