Foros del Web » Programando para Internet » Javascript »

Fallo con document.getElementById

Estas en el tema de Fallo con document.getElementById en el foro de Javascript en Foros del Web. Hola, Alguien me puede decir porque el resultado de Código: <input type="textfield" id="lang" name="lang" value="Ingles"> <script type="text/javascript"> var lang=document.getElementById("lang").value; alert(lang.value); </script> es un alert en ...
  #1 (permalink)  
Antiguo 08/09/2010, 10:05
 
Fecha de Ingreso: junio-2005
Ubicación: Barcelona
Mensajes: 458
Antigüedad: 18 años, 10 meses
Puntos: 4
Fallo con document.getElementById

Hola,

Alguien me puede decir porque el resultado de

Código:
<input type="textfield" id="lang" name="lang" value="Ingles">
   <script type="text/javascript">
 	 var lang=document.getElementById("lang").value;
	 alert(lang.value);
</script>
es un alert en vacio en vez de con ingles??

Gracias

Saludos
__________________
La ficción es y será mi única realidad
  #2 (permalink)  
Antiguo 08/09/2010, 10:25
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 3 meses
Puntos: 14
Respuesta: Fallo con document.getElementById

Si revisas tu código el problema está con la variable lang, mira:

Código Javascript:
Ver original
  1. var lang=document.getElementById("lang").value;

Ahí tenes el value del elemento con ese ID, pero cuando lo imprimes en el alert haces esto:

Código Javascript:
Ver original
  1. alert(lang.value);

Aquí está el problema, si te fijas y concatenas esto te queda:

Código Javascript:
Ver original
  1. lang=document.getElementById("lang").value;
  2. lang.value = document.getElementById("lang").value.value;

Las 2 maneras para realizarlo es:

Código Javascript:
Ver original
  1. var lang=document.getElementById("lang").value;
  2.      alert(lang);
  3. // o de esta otra manera
  4. var lang=document.getElementById("lang");
  5.      alert(lang.value);

Etiquetas: fallo
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 09:02.