Ir para conteúdo
Fórum Script Brasil
  • 0

Script não funciona no IE


Marcos Olynyk

Pergunta

Boa noite pessoal.

Tenho um script js em um arquivo .js e chamo ele na página que vou utilizar uma mascara para formatar moedas.

O script ta funcionando normal no Firefox, no Chrome so que no IE ele não deixa digitar nada, o campo fica inacessivel, não permitindo entrada de dados.

alguém pode me ajudar e explicar o pode ta acontecendo?

A função que uso é essa.

//Javascript para formatar valores ao digitar

function FormataReais(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;

key = String.fromCharCode(whichCode); // Valor para o código da Chave

if (strCheck.indexOf(key) == -1) return false; // Chave inválida

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 == 3) {

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;

}

//Fim da Função FormataReais -->

Dentro deste arquivo .js tem outras funções também, mais acredito que não seja esse o problema.

Aguardo ....

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

alguém tem alguma ideia de como posso arrumar meu script?

O amigo perguntou sobre a versão.

Ele até roda no IE 7, mais no 8 e 9 só funciona em modo de compatibilidade.

Nas versões 8 e 9 do IE, ele desabilita o campo, não deixa digitar nada.

já no FF, você digita os numeros mais não forma a máscara.

To ficando quase doido com esse script.

Alguém tem alguma ideia por favor?

Aguardo...

Link para o comentário
Compartilhar em outros sites

  • 0
@Marcos Olynyk

Coloque também o html para eu saber como você chama essa função.

@Ricardo T. do Prado

Quem te falou que o cara usa jQuery? Além disso, se você acha que .ready não é evento, está enganado. Se alguém quiser saber, aqui tem uma comparação do onload x ready.

Chamo a função desta maneira

Primeiro chamo ela na pagina, depois no campo que quero a mascara.

<input name="valor" type="text" class="textfields" id="valor" onkeypress="return(FormataReais(this,'.',',',event))" maxlength="9" />

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...