Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cristhianofonseca

Máscara não funciona

Recommended Posts

Tenho o javascript valida_moeda.js:

 

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;  // Enterkey = String.fromCharCode(whichCode);  // Get key value from key codeif (strCheck.indexOf(key) == -1) return false;  // Not a valid keylen = 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 = '';// Aqui tem que testar: se $Column->{decimals} for 3 coloca + '0' + '0' + senão, apenas + '0' +if (len == 1) fld.value = '0' + decSep + '0' + aux; // Alterei coloquei + '0' , decSep = , (vírgula)// Aqui tem que testar: se $Column->{decimals} for 3 coloca + '0' + senão, não colocaif (len == 2) fld.value = '0' + decSep + aux; // Alterei coloquei + '0'// Aqui tem que testar: se $Column->{decimals} for 3 coloca essa linha senão não coloca//if (len == 3) fld.value = '0' + decSep + aux + aux2; // Adicionei esta linha// Aqui tem que colocar a variável $decimalif (len > 2) { // Alterei de 2 para 3 aux2 = ''; // A cada três caracteres adiciona um milSep (ponto ".") for (j = 0, i = len - 3; i >= 0; i--) {  if (j == 3) {   aux2 += milSep;   j = 0;  }  aux2 += aux.charAt(i);  j++; } fld.value = ''; len2 = aux2.length; // Aqui tem que testar: se $Column->{decimals} for 3 coloca i > 0 senão coloca i >= 0 for (i = len2 - 1; i >= 0; i--) // Alterei de i >= 0 para i > 0 fld.value += aux2.charAt(i); // Aqui tem que coloca a variável mo lugar do 3 fld.value += decSep + aux.substr(len - 2, len); // O número dois é o valor chave (número de casas que vem depois da vírgula)}return false;}
E a chamada:

 

echo "<td class='Tahoma11normal' align='right'><input name='valor_duplicata[]' type=text style='text-align: right;' size='12' maxlength='10' [b]onKeyPress='return(currencyFormat(this,'','.',event));'[/b]></td>";

Já usei este script em outros forms e funcionou. Acredito que o prblema esteja na chamada onde uso o vetor "valor_duplicata[]".

 

Alguém saberia o que pode estar errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.