Foros del Web » Programando para Internet » Javascript »

Problema con valores de numeros y letras..

Estas en el tema de Problema con valores de numeros y letras.. en el foro de Javascript en Foros del Web. Que tal amigos espero esten bien, aqui estoy yo de nuevo, pero esta vez con un pequeño detallito que si bien es minimo, me a ...
  #1 (permalink)  
Antiguo 12/07/2011, 10:29
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 9 meses
Puntos: 1
Problema con valores de numeros y letras..

Que tal amigos espero esten bien, aqui estoy yo de nuevo, pero esta vez con un pequeño detallito que si bien es minimo, me a dado alguito de trabajo, les cuento:

Estoy manejando unos codigos numericos asignados a abreviaturas de navegacion, estos son los codigos:

DERIVA -> 3
MAMIF -> 4
NAV -> 8
SALIDA -> 14
LLEGADA -> 15
ALBA -> 21
OCASO -> 22
INILAN -> 23
INIREC -> 24
FINLAN -> 25
FINREC -> 26


Quiero hacer lo siguiente, como el llenado de los datos es de puros numeros, lo que quiero hacer es que cuando escriba el codigo numerico, aparezca la abreviatura en letras, ya sea en la misma caja de texto o en una diferente, por ejemplo:

si escribo el numero 3, que aparezca "DERIVA", si escribo 15 q aparezca "LLEGADA", y asi para todos los codigos y, como dije anteriormente, ya sea en la misma o en otra cajita de texto. Espero me puedan ayudar. Saludos!!
  #2 (permalink)  
Antiguo 12/07/2011, 21:22
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Problema con valores de numeros y letras..

buenas,
para parear las abreviatura con los números puedes usar un objeto donde las propiedades sean los números y su valor el texto. luego tienes que decidir que modo quieres hacerlo, si con dos campos o uno ya que el nivel de control puede variar un poco o requerir atención en algunos detalles. en fin, el proceso principal consiste en leer el valor del campo y utilizar ese string como nombre de propiedad del objeto. si la propiedad existe, entonces asigna su contenido al campo.
Código:
// declaracion del objeto ;
var mapAbbrValue = {
"##": "abbr",
"##": "abbr",
...
};
// ## -> el numero ;
// abbr -> la abreviatura ;

// en algun evento asociado al campo o cualquier otro control ;
var num = obtener_valor_campo;
if(mapAbbrValue.hasOwnProperty(num)) referencia_del_campo = mapAbbrValue[num];
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 12/07/2011, 21:37
 
Fecha de Ingreso: enero-2009
Mensajes: 16
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problema con valores de numeros y letras..

También podría ser con un Array, donde el indice sea el numero
  #4 (permalink)  
Antiguo 22/07/2011, 09:59
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Problema con valores de numeros y letras..

Que mas amigos, espero esten bien, estaba retomando este tema apenas hoy, ya que me decidi a organizar un poco los scripts que e usado en la programacion del sistema, y bueno termine con eso ayer.

Gracias por la ayuda zerokilled, me sirvio la referencia de javascript que me pasaste, lo prober con una sola caja de texto, pero mejor lo implemento con 2 cajas porq como va a ir a la base de datos, me pueden servir de mucho los dos valores, numericos y en letras, para las consultas y reportes que vaya a arrojar el sistema, hasta ahora esta tal cual lo necesito, luego voy a ver como puedo hacerlo en php, pero esa es otra historia, una vez mas gracias por la ayuda, cualquier otra cosita o ayuda q necesite, voy a estar pasandome por aqui. Un gran saludo venezolano..!!

See Ya!!

EDITO

Que tal amigos, estoy presentando un pequeño detalle con lo de la funcion que me suministro zerokilled, la e probado en firefox y crome y funciona bien bien, pero ccuando la pruebo con internet explorer me da un error, dice que se esperaba un identificador, cadea o numero, y me da el error en la linea donde esta la }; quisiera saber a que se debe?

estoy bajando otros navegadores a ver si me dan el mismo problema, voy a probarlos todos. Saludos..


EDITO2

Que mas amigos, aqui vuelvo yo con lo de los codigos, ahora tengo un pequeño problema, necesito aplicar el mismo procedimiento para 3 datos que se van a extraer igual, pero, para 1 funciona bien bien, pero en los otros 2 no funciona, les dejo el codigo de las 3 funciones que estoy utilizando, es practicamente el mismo, solo q cambia la variable "mapabbrvalue" y num.

Código:
function numlet(casco){
// declaracion del objeto ;
var mapAbbrValue = {
	"1": "MADERA",    
	"2": "FIBRA DE VIDRIO",     
	"3": "ACERO",       
	"4": "OTRO",   
}
// ## -> el numero ;
// abbr -> la abreviatura ;

// en algun evento asociado al campo o cualquier otro control;
var num = document.forms[0].casco.value;
if(mapAbbrValue.hasOwnProperty(num)) {
	document.forms[0].casco2.value = mapAbbrValue[num];
}
} 

function numlet2(tcomb){
// declaracion del objeto ;
var mapAbbrValue2 = {
	"1": "DIESEL",    
	"2": "GASOLINA",     
	"3": "OTRO",   
}
// ## -> el numero ;
// abbr -> la abreviatura ;

// en algun evento asociado al campo o cualquier otro control;
var num2 = document.forms[0].tcomb.value;
if(mapAbbrValue2.hasOwnProperty(num2)) {
	document.forms[0].tcomb2.value = mapAbbrValue2[num2];
}
} 

function numlet3(refrig){
// declaracion del objeto ;
var mapAbbrValue3 = {
	"1": "CONGELADOR",    
	"2": "HIELO",     
	"3": "OTRO",   
}
// ## -> el numero ;
// abbr -> la abreviatura ;

// en algun evento asociado al campo o cualquier otro control;
var num3 = document.forms[0].refrig.value;
if(mapAbbrValue3.hasOwnProperty(num3)) {
	document.forms[0].refrig2.value = mapAbbrValue3[num3];
}
}
Ahi se encuentran las 3 funciones, con diferentes nombres, ahora mi duda es la siguiente: se puede usar el metodo hasOwnProperty mas de una vez??

Última edición por Bullet; 22/07/2011 a las 14:47
  #5 (permalink)  
Antiguo 08/08/2011, 15:09
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Problema con valores de numeros y letras..

lo primero es que me extraña que te funcione al menos una. los objetos literales tienen una sintaxis particular donde cada propiedad/valor es separada por una coma. en tu código, veo que seguido de la última propiedad/valor le sigue una coma. dicha coma esta de más y creo que todos los interpretes generan error. aparte de eso, no veo por donde puede estar el error, no veo nada más extraño. sobre la pregunta de hasOwnProperty tendras que explicarte. puedes usar el método cuantas veces quieras en un mismo objeto pero no lo puedes anidar porque lo devuelto por el método es un boolean. es decir...

Código:
// si puedes hacer lo siguiente;
object.hasOwnProperty('prop');
object.hasOwnProperty('prop');
...

// lo siguiente, tecnicamente se puede hacer pero no funciona como podria pensarse;
object.hasOwnProperty('prop').hasOwnProperty('prop')...;
// la segunda invocación se realiza sobre el boolean devuelto por la primera invocación;
// o sea, no sobre el mismo objeto;
adicionalmente, te recomiendo que practiques estructuración de datos y simplificación de código de forma que las tareas sean genéricas. de esta forma evitas tener que duplicar una y otra vez los códigos similares para implementarlo a diferentes elementos. por último, siempre que quieras darle seguimiento a un tema, realiza una nueva respuesta en el tema si ya ha transcurrido un largo tiempo en lugar de editar la última respuesta. así los lectores saben que hay un nuevo mensaje.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 08/08/2011 a las 15:15
  #6 (permalink)  
Antiguo 08/08/2011, 15:23
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Problema con valores de numeros y letras..

Que tal amigo zerokilled, bueno como tu dices, me parece extraño, ya que de las 3 funciones solo una hace lo que quiero, las otras dos no, y e corregido la variable mapAbbrValue, le camio el nombre a los textbox, le cambie el nombre a las variablers y nada, y necesito trabajar de esa manera en varios forms que tienen ese tipo de valores, hay otra manera de hacer la validacion??
  #7 (permalink)  
Antiguo 09/08/2011, 09:56
Avatar de Bullet  
Fecha de Ingreso: agosto-2005
Ubicación: Margarita, Venezuela
Mensajes: 235
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Problema con valores de numeros y letras..

Que tal amigo, ahora presento ootro problema con las validaciones q estoy haciendo, las pruebo en explorer, mozilla y chrome, y me funcionan en 2, menos en explorer...

Etiquetas: numeros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:39.