Foros del Web » Programando para Internet » Javascript »

Consulta acerca de document.getElementById()

Estas en el tema de Consulta acerca de document.getElementById() en el foro de Javascript en Foros del Web. Hola foro, tengo una pregunta que estimo es bastante sencilla pero que aún no pude resolver: Necesito poner una varible en el document.getElementById, seria algo ...
  #1 (permalink)  
Antiguo 13/04/2009, 20:03
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Consulta acerca de document.getElementById()

Hola foro, tengo una pregunta que estimo es bastante sencilla pero que aún no pude resolver:

Necesito poner una varible en el document.getElementById, seria algo asi

document.getElementById(variable).innerHTML = "OK"

Esto es para colocar un mensaje en unos divs que genero automáticamente cuyos identificadores son números ej.: <div id="1"></div> y asi hasta 20. El valor que toma la variable es el correcto para cada caso (osea toma el valor 1 o 2 o 3 o 20) pero me tira este error:

"document.getElementById(variable) is null"

Alguien sabe cual es el problema?

Muchas Gracias de antemano.
  #2 (permalink)  
Antiguo 13/04/2009, 20:07
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: Consulta acerca de document.getElementById()

Debes comprobar que el valor de variable sea realmente el que esperas.

Además, un número no es válido para el atributo id, debe ir por lo menos acompañado de otro carácter, "id1" o semejantes.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 14/04/2009, 07:44
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Respuesta: Consulta acerca de document.getElementById()

Hola David, gracias por la respuesta, ya modifique el valor del atributo id, ahora es "mensaje1", "mensaje2" etc, pero sigo teniendo el mismo error. El problema es que la variable es producto de una concatenacion, es decir es algo como esto:

Código:
variable = "mensaje" + var;
donde var tiene un número. Cuando hago un alert de "variable" obtengo por ejemplo "mensaje1" (igual que el identificador de uno de mis divs) sin embargo me aparace este error "document.getElementById(variable) is null". Ahora si yo seteo a mi variable de esta forma

Código:
variable = "mensaje1";
Ahi sí me lo toma bien, pero no me sirve ya que necesito que el número sea una variable.

Gracias por tu ayuda
  #4 (permalink)  
Antiguo 14/04/2009, 07:46
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Consulta acerca de document.getElementById()

No puedes utilizar var como nombre de variable ya que es una palabra reservada de javascript
  #5 (permalink)  
Antiguo 14/04/2009, 07: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: Consulta acerca de document.getElementById()

Si ese es el código real, "var" no es válido para un nombre de variable.

De lo contrario es muy raro, habría que ver el código completo de la función para ver si conseguimos determinar la causa del error.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 14/04/2009, 09:22
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Respuesta: Consulta acerca de document.getElementById()

Si, en realidad no es el codigo real, lo puse de ejemplo mientras escribia el post y se me paso por alto el tema de la palabras reservadas. El código es el siguiente:

Código PHP:
function procesarSorteo(){
    if(
conexion2.readyState == 4){
        
casilla conexion2.responseText.split(",");
        
campo "mensaje"+casilla[0];
        
document.getElementById(campo).innerHTML 'ya estas anotado';
    } else {
        var 
document.getElementById('mensaje');
        
d.innerHTML 'Procesando';
    }

La función procesarSorteo procesa la respuesta que recibo del servidor, el valor de casilla[0] es un número por ende si hago un alert de la variable "campo": me muestra "mensaje1" o "mensaje2" etc, justamente asi se llaman los identificadores de los divs ej: <div id="mensaje1"></div> ...

Creo que el problema esta con el tipo de dato de casilla[0] pero no se como solucionarlo.
  #7 (permalink)  
Antiguo 21/12/2009, 09:51
 
Fecha de Ingreso: diciembre-2009
Ubicación: Valparaíso
Mensajes: 118
Antigüedad: 14 años, 4 meses
Puntos: 3
Desacuerdo Respuesta: Consulta acerca de document.getElementById()

tengo el mismo problema y aun no tengo solución :(
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 14:38.