Estou com o seguinte problema: tenho em meu sistema vários campos numéricos (tipo decimal) para entrada de dados. Meu cliente me pediu para que os dados fossem inseridos da direita para esquerda (tipo inserção de valores em instituições bancárias).
Achei na net um script (abaixo) que faz o que eu quero, mas, como sou leigo em js não consegui adaptá-lo para as minhas necessidades.
<html>
<head><title>Mascara</title>
<script LANGUAGE="JavaScript">
function currencyFormat(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13) return true; // Enter
key = String.fromCharCode(whichCode); // Get key value from key code
if (strCheck.indexOf(key) == -1) return false; // Not a valid key
len = fld.value.length;
for(i = 0; i < len; i++)
if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) fld.value = '';
if (len == 1) fld.value = '0'+ decSep + '0' + aux;
if (len == 2) fld.value = '0'+ decSep + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 4) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += decSep + aux.substr(len - 2, len);
}
return false;
}
</script>
</head>
<body>
<form>Defina o Valor em Reais : <input type=text name=test length=15 onKeyPress="return(currencyFormat(this,'.','.',event))">
</form>
Gostaria de saber como faço para adaptá-lo às minhas máscaras (ex: 0.00, 00.00, 0.0, 000.00, etc..) ou se tem um script mais simples que posso utilizar.
Pergunta
Rodrigo Azevedo Lima
Olá para todos.
Estou com o seguinte problema: tenho em meu sistema vários campos numéricos (tipo decimal) para entrada de dados. Meu cliente me pediu para que os dados fossem inseridos da direita para esquerda (tipo inserção de valores em instituições bancárias).
Achei na net um script (abaixo) que faz o que eu quero, mas, como sou leigo em js não consegui adaptá-lo para as minhas necessidades.
Gostaria de saber como faço para adaptá-lo às minhas máscaras (ex: 0.00, 00.00, 0.0, 000.00, etc..) ou se tem um script mais simples que posso utilizar.
Desde já agradeço a todos.
Abraços,
Rodrigo Lima
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.