Ir para conteúdo

POWERED BY:

Arquivado

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

tpezzi

Validação Javascrip em FireFox

Recommended Posts

Pessoal,O negócio é o seguinte. Tenho que adaptar algumas funções no meu trabalho para que funcione no firefox e estou com dificuldades para validar campos numéricos.Estou fazendo isso:<script language="javascript" type="text/javascript">var chrValidoDigito = '0123456789';function filtraInteiro(e) {if (!e) {e = window.event;} else {e = e; }var chrPressionado = getCharPressed(e);if(chrValidoDigito.indexOf(chrPressionado) < 0) {if (e.stopPropagation) {e.preventDefault(); //NAO FUNCIONA} else {e.returnValue = false;}}}function getCharPressed {var codeKey = (e.shiftKey || e.shiftLeft) ? (e.keyCode + 1000) : e.keyCode;switch (codeKey) {case 32 : { return ' '; break; }case 49 : { return '1'; break; }case 50 : { return '2'; break; }case 51 : { return '3'; break; }case 52 : { return '4'; break; }case 53 : { return '5'; break; }case 54 : { return '6'; break; }case 55 : { return '7'; break; }case 56 : { return '8'; break; }case 57 : { return '9'; break; }case 48 : { return '0'; break; }case 65 : { return 'a'; break; }case 66 : { return 'b'; break; }case 67 : { return 'c'; break; }case 68 : { return 'd'; break; }case 69 : { return 'e'; break; }case 70 : { return 'f'; break; }case 71 : { return 'g'; break; }case 72 : { return 'h'; break; }case 73 : { return 'i'; break; }case 74 : { return 'j'; break; }case 75 : { return 'k'; break; }case 76 : { return 'l'; break; }case 77 : { return 'm'; break; }case 78 : { return 'n'; break; }case 79 : { return 'o'; break; }case 80 : { return 'p'; break; }case 81 : { return 'q'; break; }case 82 : { return 'r'; break; }case 83 : { return 's'; break; }case 84 : { return 't'; break; }case 85 : { return 'u'; break; }case 86 : { return 'v'; break; }case 87 : { return 'w'; break; }case 88 : { return 'x'; break; }case 89 : { return 'y'; break; }case 90 : { return 'z'; break; }case 96 : { return '0'; break; }case 97 : { return '1'; break; }case 98 : { return '2'; break; }case 99 : { return '3'; break; }case 100 : { return '4'; break; }case 101 : { return '5'; break; }case 102 : { return '6'; break; }case 103 : { return '7'; break; }case 104 : { return '8'; break; }case 105 : { return '9'; break; }case 106 : { return '*'; break; }case 107 : { return '+'; break; }case 109 : { return '-'; break; }case 110 : { return ','; break; }case 111 : { return '/'; break; }case 194 : { return '.'; break; }case 186 : { return String.fromCharCode(231); break; } // 'ç'case 187 : { return '='; break; }case 188 : { return ','; break; }case 189 : { return '-'; break; }case 190 : { return '.'; break; }case 191 : { return ';'; break; }case 192 : { return '\''; break; }case 193 : { return '/'; break; }case 219 : { return '´'; break; }case 220 : { return ']'; break; }case 221 : { return '['; break; }case 222 : { return '~'; break; }case 226 : { return '\\'; break; }case 1049 : { return '!'; break; }case 1050 : { return '@'; break; }case 1051 : { return '#'; break; }case 1052 : { return '$'; break; }case 1053 : { return '%'; break; }case 1054 : { return '¨'; break; }case 1055 : { return '&'; break; }case 1056 : { return '*'; break; }case 1057 : { return '('; break; }case 1048 : { return ')'; break; }case 1065 : { return 'A'; break; }case 1066 : { return 'B'; break; }case 1067 : { return 'C'; break; }case 1068 : { return 'D'; break; }case 1069 : { return 'E'; break; }case 1070 : { return 'F'; break; }case 1071 : { return 'G'; break; }case 1072 : { return 'H'; break; }case 1073 : { return 'I'; break; }case 1074 : { return 'J'; break; }case 1075 : { return 'K'; break; }case 1076 : { return 'L'; break; }case 1077 : { return 'M'; break; }case 1078 : { return 'N'; break; }case 1079 : { return 'O'; break; }case 1080 : { return 'P'; break; }case 1081 : { return 'Q'; break; }case 1082 : { return 'R'; break; }case 1083 : { return 'S'; break; }case 1084 : { return 'T'; break; }case 1085 : { return 'U'; break; }case 1086 : { return 'V'; break; }case 1087 : { return 'W'; break; }case 1088 : { return 'X'; break; }case 1089 : { return 'Y'; break; }case 1090 : { return 'Z'; break; }case 1186 : { return String.fromCharCode(199); break; } // 'Ç'case 1187 : { return '+'; break; }case 1188 : { return '<'; break; }case 1189 : { return '_'; break; }case 1190 : { return '>'; break; }case 1191 : { return ':'; break; }case 1192 : { return '"'; break; }case 1193 : { return '?'; break; }case 1219 : { return '`'; break; }case 1220 : { return '}'; break; }case 1221 : { return '{'; break; }case 1222 : { return '^'; break; }case 1226 : { return '|'; break; }default : { return ''; break; }}}</script><input name="dhstrh" onKeyDown="filtraInteiro(event);"/>Está comentado ali o que eu acho que está dando erro.Vocês tem alguma idéia de como posso arrumar, ou outra forma de fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade não achei confusa, foi o padrão que eu utilizei, esta função "getCharPressed" é chamada por outras 30 funções diferentes. Utilizo para validar campos de data, cpf, literal, vários tipos. O que eu postei acima é só uma das outras 30 funções que a chamam. Por isso preciso fazer esta funcionar e não usar outra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me desculpe, me espressei mal.

Eu estou quase chegando onde preciso, só que ele está aceitando os acentos (´~). Em vermelho o que eu alterei:

 

<script language="javascript" type="text/javascript">

 

var chrValidoDigito = '0123456789';

 

function filtraInteiro(e) {

if (!e) {

e = window.event;

} else {

e = e;

}

 

var chrPressionado = getCharPressed(e);

 

if(chrValidoDigito.indexOf(chrPressionado) < 0 || chrValidoDigito.indexOf(chrPressionado) == "") {

if (e.stopPropagation) {

return false;

} else {

e.returnValue = false;

}

}

}

 

 

function getCharPressed (e) {

 

var codeKey = (e.shiftKey || e.shiftLeft) ? (e.keyCode + 1000) : e.keyCode;

 

switch (codeKey) {

case 32 : { return ' '; break; }

 

case 49 : { return '1'; break; }

case 50 : { return '2'; break; }

case 51 : { return '3'; break; }

case 52 : { return '4'; break; }

case 53 : { return '5'; break; }

case 54 : { return '6'; break; }

case 55 : { return '7'; break; }

case 56 : { return '8'; break; }

case 57 : { return '9'; break; }

case 48 : { return '0'; break; }

 

case 65 : { return 'a'; break; }

case 66 : { return 'b'; break; }

case 67 : { return 'c'; break; }

case 68 : { return 'd'; break; }

case 69 : { return 'e'; break; }

case 70 : { return 'f'; break; }

case 71 : { return 'g'; break; }

case 72 : { return 'h'; break; }

case 73 : { return 'i'; break; }

case 74 : { return 'j'; break; }

case 75 : { return 'k'; break; }

case 76 : { return 'l'; break; }

case 77 : { return 'm'; break; }

case 78 : { return 'n'; break; }

case 79 : { return 'o'; break; }

case 80 : { return 'p'; break; }

case 81 : { return 'q'; break; }

case 82 : { return 'r'; break; }

case 83 : { return 's'; break; }

case 84 : { return 't'; break; }

case 85 : { return 'u'; break; }

case 86 : { return 'v'; break; }

case 87 : { return 'w'; break; }

case 88 : { return 'x'; break; }

case 89 : { return 'y'; break; }

case 90 : { return 'z'; break; }

 

case 96 : { return '0'; break; }

case 97 : { return '1'; break; }

case 98 : { return '2'; break; }

case 99 : { return '3'; break; }

case 100 : { return '4'; break; }

case 101 : { return '5'; break; }

case 102 : { return '6'; break; }

case 103 : { return '7'; break; }

case 104 : { return '8'; break; }

case 105 : { return '9'; break; }

 

case 106 : { return '*'; break; }

case 107 : { return '+'; break; }

case 109 : { return '-'; break; }

case 110 : { return ','; break; }

case 111 : { return '/'; break; }

case 194 : { return '.'; break; }

 

case 186 : { return String.fromCharCode(231); break; } // 'ç'

case 187 : { return '='; break; }

case 188 : { return ','; break; }

case 189 : { return '-'; break; }

case 190 : { return '.'; break; }

case 191 : { return ';'; break; }

case 192 : { return '\''; break; }

case 193 : { return '/'; break; }

case 219 : { return '´'; break; }

case 220 : { return ']'; break; }

case 221 : { return '['; break; }

case 222 : { return '~'; break; }

case 226 : { return '\\'; break; }

 

case 1049 : { return '!'; break; }

case 1050 : { return '@'; break; }

case 1051 : { return '#'; break; }

case 1052 : { return '$'; break; }

case 1053 : { return '%'; break; }

case 1054 : { return '¨'; break; }

case 1055 : { return '&'; break; }

case 1056 : { return '*'; break; }

case 1057 : { return '('; break; }

case 1048 : { return ')'; break; }

 

case 1065 : { return 'A'; break; }

case 1066 : { return 'B'; break; }

case 1067 : { return 'C'; break; }

case 1068 : { return 'D'; break; }

case 1069 : { return 'E'; break; }

case 1070 : { return 'F'; break; }

case 1071 : { return 'G'; break; }

case 1072 : { return 'H'; break; }

case 1073 : { return 'I'; break; }

case 1074 : { return 'J'; break; }

case 1075 : { return 'K'; break; }

case 1076 : { return 'L'; break; }

case 1077 : { return 'M'; break; }

case 1078 : { return 'N'; break; }

case 1079 : { return 'O'; break; }

case 1080 : { return 'P'; break; }

case 1081 : { return 'Q'; break; }

case 1082 : { return 'R'; break; }

case 1083 : { return 'S'; break; }

case 1084 : { return 'T'; break; }

case 1085 : { return 'U'; break; }

case 1086 : { return 'V'; break; }

case 1087 : { return 'W'; break; }

case 1088 : { return 'X'; break; }

case 1089 : { return 'Y'; break; }

case 1090 : { return 'Z'; break; }

 

case 1186 : { return String.fromCharCode(199); break; } // 'Ç'

case 1187 : { return '+'; break; }

case 1188 : { return '<'; break; }

case 1189 : { return '_'; break; }

case 1190 : { return '>'; break; }

case 1191 : { return ':'; break; }

case 1192 : { return '"'; break; }

case 1193 : { return '?'; break; }

case 1219 : { return '`'; break; }

case 1220 : { return '}'; break; }

case 1221 : { return '{'; break; }

case 1222 : { return '^'; break; }

case 1226 : { return '|'; break; }

 

default : { return ''; break; }

}

}

</script>

 

<input name="dhstrh" onKeyDown="return filtraInteiro(event);"/>

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.