Ir para conteúdo

POWERED BY:

Arquivado

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

heavymetal

[Resolvido] Digitar números e exibir letras

Recommended Posts

Olá pessoal, tô com um abacaxi aqui pra descascar. Em um sistema preciso que o usuário digite numeros, mas seja mostrado na tela letras, tipo se digitar 1 exibe A, se digitar 2 exibe M, enfim letras pré-determinadas, mas isso seria apenas para exibir na tela, o input teria de manter o valor númerico para gravar no banco

Acredito que isso tenha de ser feito em java script, se alguém tiver uma dica de como fazer e se é possível toda ajuda é bem vinda

Desde já agradecido

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom o que bolei foi o seguinte:

 

<html>
  <head>
	<script>
		var arrLetraNumeros = new Array();
		arrLetraNumeros[0] = 'A';
		arrLetraNumeros[1] = 'B';
		arrLetraNumeros[2] = 'C';
		arrLetraNumeros[3] = 'D';
		arrLetraNumeros[4] = 'E';
		arrLetraNumeros[5] = 'F';
		arrLetraNumeros[6] = 'G';
		arrLetraNumeros[7] = 'H';
		arrLetraNumeros[8] = 'I';
		arrLetraNumeros[9] = 'J';

		var arrNumerosLetras = new Array();
		arrLetraNumeros['A'] = 0;
		arrLetraNumeros['B'] = 1;
		arrLetraNumeros['C'] = 2;
		arrLetraNumeros['D'] = 3;
		arrLetraNumeros['E'] = 4;
		arrLetraNumeros['F'] = 5;
		arrLetraNumeros['G'] = 6;
		arrLetraNumeros['H'] = 7;
		arrLetraNumeros['I'] = 8;
		arrLetraNumeros['J'] = 9;

		function dig(e){
			var digito = e.keyCode?e.keyCode:e.which;	
			if(digito == 8)//backspace
				return true;

			valor = String.fromCharCode(e.charCode);
			var txt = document.getElementById("txt");
			txt.value += arrLetraNumeros[parseInt(valor)];

			return false;
		}
		function converter(){
			var txt = document.getElementById("txt").value;
			var arr = txt.split("");
			var numeros = "";
			for(i=0;i<arr.length;i++){
				numeros+= arrLetraNumeros[arr[i]];
			}
			alert(numeros);
		}
	</script>
  </head>
  <body>
	<input id="txt" type="text" onkeypress="return dig(event);" value=""/>
	<input type="button" value="Ver em numeros" onclick="converter()"/>
  </body>
</html>
acho que com isso você consegue adaptar a sua necessidade..

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom o que bolei foi o seguinte:

 

<html>
  <head>
	<script>
		var arrLetraNumeros = new Array();
		arrLetraNumeros[0] = 'A';
		arrLetraNumeros[1] = 'B';
		arrLetraNumeros[2] = 'C';
		arrLetraNumeros[3] = 'D';
		arrLetraNumeros[4] = 'E';
		arrLetraNumeros[5] = 'F';
		arrLetraNumeros[6] = 'G';
		arrLetraNumeros[7] = 'H';
		arrLetraNumeros[8] = 'I';
		arrLetraNumeros[9] = 'J';

		var arrNumerosLetras = new Array();
		arrLetraNumeros['A'] = 0;
		arrLetraNumeros['B'] = 1;
		arrLetraNumeros['C'] = 2;
		arrLetraNumeros['D'] = 3;
		arrLetraNumeros['E'] = 4;
		arrLetraNumeros['F'] = 5;
		arrLetraNumeros['G'] = 6;
		arrLetraNumeros['H'] = 7;
		arrLetraNumeros['I'] = 8;
		arrLetraNumeros['J'] = 9;

		function dig(e){
			var digito = e.keyCode?e.keyCode:e.which;	
			if(digito == 8)//backspace
				return true;

			valor = String.fromCharCode(e.charCode);
			var txt = document.getElementById("txt");
			txt.value += arrLetraNumeros[parseInt(valor)];

			return false;
		}
		function converter(){
			var txt = document.getElementById("txt").value;
			var arr = txt.split("");
			var numeros = "";
			for(i=0;i<arr.length;i++){
				numeros+= arrLetraNumeros[arr[i]];
			}
			alert(numeros);
		}
	</script>
  </head>
  <body>
	<input id="txt" type="text" onkeypress="return dig(event);" value=""/>
	<input type="button" value="Ver em numeros" onclick="converter()"/>
  </body>
</html>
acho que com isso você consegue adaptar a sua necessidade..

 

t+

Obrigado pela atenção amigo, mas testei o script e retorna tanto para o input como para o submit undefined

tentei colocar tanto com o script incluso entre os head como com minha folha de scrits js importada, mas em nenhum dos dois casos funcionou

Programo principalmente em php, e não manjo muito de javascript, o uso regularmente apenas para algumas coisas de ajax, então não tenho muita idéia do que pode estar dando errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

sobre o IE

 

troque

 

valor = String.fromCharCode(e.charCode);

por

 

valor = String.fromCharCode(digito);

e sobre o undefined você tem que validar a entrada dos caracteres aceintando apenas numeros...

ou antes de jogar o valor verifique se é undefined..

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado cara, tá quase td resolvido, o único problema é que tenho de digitar o ponto(.) e ele exibir uma letra, e não to conseguindo fazer funcionar, pq já foram usados os nove números

Agradecido pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvi deixar só para números inteiros e desse jeito vai funcionar, o que não estou conseguindo fazer é como pegar o valor convertido para número de novo com o php, teria de ao invés de dar um alert na função converter() armazenar em uma variável, para poder passar via post, mas não estou conseguindo saber como fazer

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode salvar esse valor em um campo hiddem.. dando o post no form você consegue resgatar o valor no php..

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode salvar esse valor em um campo hiddem.. dando o post no form você consegue resgatar o valor no php..

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

Obrigado mais uma vez amigo, mas como eu faria isso, tentei umas duas horas e não consegui, acabei desistindo do java script e fiz no php mesmp

Ficou assim, um código imenso, mas resolveu

$umc = substr($valor,0,1);
if ($umc == "A") {
	$uc = '0';	
}
else if ($umc == "B") {
	$uc = '1';	
}
else if ($umc == "C") {
	$uc = '2';	
}
else if ($umc == "D") {
	$uc = '3';	
}
else if ($umc == "E") {
	$uc = '4';	
}
else if ($umc == "F") {
	$uc = '5';	
}
else if ($umc == "G") {
	$uc = '6';	
}
else if ($umc == "H") {
	$uc = '7';	
}
else if ($umc == "I") {
	$uc = '8';	
}
else if ($umc == "J") {
	$uc = '9';	
}
echo "primeiro:$uc<br>";
fiz cinco sequencias assim e no final junto tudo em uma variável, funcionou, mas agora fiquei curioso de como jogar uma variável java script via campo hidden, já tive situações parecidas e sempre tive de fazer no php

se fosse uma var php ficaria assim

<input type=\"hidden\" id=\"valor\" name=\"valor\" value=\"$valor\" />";
em javascript, como ficaria a sintaxe

mais uma vez agradecido

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.