Foros del Web » Programando para Internet » Javascript »

Pequeña duda sobre variables

Estas en el tema de Pequeña duda sobre variables en el foro de Javascript en Foros del Web. Tengo este código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código javascript : Ver original function calcula ( ) {         //guardamos el valor del input text ...
  #1 (permalink)  
Antiguo 06/10/2009, 15:58
 
Fecha de Ingreso: octubre-2008
Mensajes: 93
Antigüedad: 15 años, 6 meses
Puntos: 1
Pequeña duda sobre variables

Tengo este código:

Código javascript:
Ver original
  1. function calcula(){
  2.         //guardamos el valor del input text 'Distancia' en la variable distancia
  3.         var distancia = document.getElementById('distancia').value;
  4.         //guardamos el valor del input text 'Minuto por kilometro' en la variable minuto_x_km
  5.         var minuto_x_km = document.getElementById('minutos_x_km').value;
  6.         //guardamos el valor del input text 'Marca' en la variable marca
  7.         var marca = document.getElementById('marca').value
  8.        
  9.         //comprovamos que el usuario no deje los dos campos vacios y mostramos un mensaje de error
  10.         if (minuto_x_km=="" && marca=="")
  11.         {
  12.             alert("debes llenar almenos un campo");
  13.         }
  14.         //comprovamos que el usuario no llena los dos campos simultaneamente
  15.         else if (minuto_x_km!="" && marca!="")
  16.         {
  17.             alert("no puedes llenar los dos campos a la vez");
  18.         }
  19.         else if (minuto_x_km!="" && marca=="")
  20.         {
  21.             //con la clase split separo los minutos, los segundos y las centesimas
  22.             var tiempo = minuto_x_km.split(':');  
  23.             //guardo sus valores en variables separadas para trabajar mejor con ellas
  24.             minutos = tiempo[0];
  25.             segundos = tiempo[1];
  26.             centesimas = tiempo[2];
  27.            
  28.             alert(minutos);
  29.            
  30.             //canvio la distancia de unidades //paso de metros a Kilometros
  31.             distancia_en_km = distancia/1000;
  32.            
  33.             alert(distancia_en_km);
  34.            
  35.             minutos_marca = minutos*distancia_en_km;
  36.             segundos_marca = segundos*distancia_en_km;
  37.             centesimas_marca = centesimas*distancia_en_km;
  38.            
  39.             alert(minutos_marca);
  40.            
  41.             document.getElementById('marca').value = minutos_marca;
  42.  
  43.         }
  44.     }

Todo me funciona perfectamente... Pero tengo una pequeña duda.

La última línea
Código javascript:
Ver original
  1. document.getElementById('marca').value = minutos_marca;
tendría que poder substituirla por la variable marca, que como bien tengo definido en la linea 7, son equivalentes... pero así no me funciona.

Código javascript:
Ver original
  1. document.getElementById('marca').value = minutos_marca; //FUNCIONA OK
  2. marca = minutos_marca; // NO FUNCIONA

¿A que es debido si está correctamente declarado?

EDITO: no sé como puedo ser tan garrulo... es evidente que lo que estoy haciendo es machacar la variable "marca" y asignandole un nuevo valor. Lo que no sé es como usar lo que tengo en la variable "marca" sin tener que escribir siempre el document.getElementById ¿Me explico?

Gracias.

Última edición por hinfra; 06/10/2009 a las 16:03
  #2 (permalink)  
Antiguo 06/10/2009, 16:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Pequeña duda sobre variables

En lugar de asignar el value a la variable marca, asigna el objeto mismo:
Código Javascript:
Ver original
  1. var marca = document.getElementById('marca');
Y cuando tengas que asignar/leer el valor del elemento usa marca.value

P.S.: No uses un mismo nombre para la variable y el id del elemento, por una extraña razón suele dar problemas en Internet Explorer.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 18:02.