Ir para conteúdo

POWERED BY:

Arquivado

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

Gabriel Fernandez

Erros de checagem de campos

Recommended Posts

1-

 

var strCheck = '0123456789';

 

aki checa o campo.... alem dos numeros gostaria de liberar o TAB backspace e Enter.... como eu faço???

ele so deixa eu digitar esses numeros ai

 

tb vai servir pra mim aki

function SomenteNumero(e){	var tecla=(window.event)?event.keyCode:e.which;	if((tecla > 47 && tecla < 58)) return true;	else{	if (tecla = 8) return true;	else return false;	}}

nesse codigo acima eu consegui liberar o backspace numero 8... mas o tab q eh numero 9 ascii

eu nao consigo

 

thanks

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito obrigado.... andreia e klay

=P

vcs ajudaram muito...

 

consegui resolver o problema de fazer um campo q só entre números e faça funcionar outras teclas

através dessa simples função

function soNumeros(v){	return v.replace(/\D/g,"")}

mais ainda estou com o problema da checa moeda

function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, 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 = objTextBox.value.length;	for(i = 0; i < len; i++)		if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;	aux = '';	for(; i < len; i++)		if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);	aux += key;	len = aux.length;	if (len == 0) objTextBox.value = '';	if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;	if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;	if (len > 2) {		aux2 = '';		for (j = 0, i = len - 3; i >= 0; i--) {			if (j == 3) {				aux2 += SeparadorMilesimo;				j = 0;			}			aux2 += aux.charAt(i);			j++;		}		objTextBox.value = '';		len2 = aux2.length;		for (i = len2 - 1; i >= 0; i--)		objTextBox.value += aux2.charAt(i);		objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);	}	return false;}

nessa função ai só consigo usar os numeros... nada de tab backspace e nem enter

por causa dessa linha

 

var strCheck = '0123456789';

 

só libera os numeros de 0 a 9...

alem deles eu quero liberar o o tab back e o enter

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema esta nesta linha aqui:

(...)	if (whichCode == 13) return true;// <--- aquiii	key = String.fromCharCode(whichCode); // Valor para o código da Chave(...)

No if insira uma verificação também para os números que a Andreia passou para você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigadão cara.... só ficou faltando o tab...tem na tabela ascii q o tab é o número 9mas não funciona....finalmente quem eh o tab???ps. consegui fazer funcionar perfeitamente no internet explorer... mas no firefox...oh maldição... não pega nada... nem tab nem delete nem backspce nem enter

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para funcionar nos dois faça o seguinte:

 

No input:

<input type="text" name="textfield"  onKeyUp="MascaraMoeda(this, ',', '.',  event)">
na função javascript, altere:

 

var whichCode = (window.Event) ? e.which : e.keyCode;	if (whichCode == 13) return true;
por:

if (whichCode == 13 && whichCode ==32 && whichCode ==9) 	{		if(e.preventDefault)		e.preventDefault()		else		e.returnValue = false;		return true;			}
Note que o evento no input é o OnKeyUp, use-o, pois é importante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

WWWWWWWWWOOOOOOOOOOOOWWWWWWWWWW

 

obrigadão cara...

quando crescer quero ser igual a você

eueheuheuheu

 

 

vlw mesmo até mais... fico te devendo essa..

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

eu peguei a linha

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

e coloquei

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

ai ta funcionando tanto no firefox quanto no IE

mas o problema é q ta dando para digitar letras =/

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.