Foros del Web » Programando para Internet » Javascript »

getElementById en IE

Estas en el tema de getElementById en IE en el foro de Javascript en Foros del Web. estoy intentando escribir en una tabla con javascript : document.getElementById('table_shared').innerHTML= cont; firefox lo ejecuta bien... pero IE me tira error.. cuando lo depuro, la variable ...
  #1 (permalink)  
Antiguo 14/07/2006, 11:24
 
Fecha de Ingreso: agosto-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
getElementById en IE

estoy intentando escribir en una tabla con javascript:

document.getElementById('table_shared').innerHTML= cont;

firefox lo ejecuta bien... pero IE me tira error..

cuando lo depuro, la variable cont aparece con el valor que deberia y document.getElementById('table_shared').innerHTML es "<TBODY></TBODY>"
supongo que eso esta bien.. asi que no me explico porque el IE me tira error y no me permite escribir en la tabla.

alguno sabe como solucionarlo?

gracias
  #2 (permalink)  
Antiguo 14/07/2006, 11:38
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola:

Las etiquetas tbody se incrustan automáticamente en todos los navegadores, así que indica que existe aunque sin contenido... hay veces que las variables no se pueden usar porque están predefinidas (me ha pasado en alguna ocasión)...

La sintaxis sin duda está bien... otra cosa de explorer es que confunde id y name... por si tienes algún elemento con ese nombre...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/07/2006, 11:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Es un problema que tuve yo tmb, pero lo solucione de una manera un tanto mas complicada.

en lugar de usar innerHTML, usa objetos DOM, como insertRow e insertCell para crear la tabla, he descubierto que de esta forma funciona en Firefox, IE, y Opera :)

puedes usar algo asi:
Código:
function creaFila( idTabla ) {
       var laTabla = document.getElementById( idTabla ).tBodies[0];
       var unaFila = laTabla.insertRow(-1);
       var unaCelda = unaFila.insertCell( -1 ); // usa -1 para insertar al final

       unaCelda.innerHTML = "el texto de la celda";
}
  #4 (permalink)  
Antiguo 14/07/2006, 11:42
 
Fecha de Ingreso: agosto-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
no tengo elementos con name asignado.. solo dos tablas con id distinto.

la variable cont tiene algo asi: "<tr><td>datos</td><td>datos</td></tr>" .. el contenido de una tabla.

lo extraño es que en firefox funciona muy bien mientras que en IE no.. sin embargo, el debug señala que todo esta donde corresponde

no se que hacer :S
  #5 (permalink)  
Antiguo 14/07/2006, 11:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Usa lo que te puse ;), a mi me paso exactamente igual el dia de ayer y asi fue como lo solucione.
  #6 (permalink)  
Antiguo 14/07/2006, 11:44
 
Fecha de Ingreso: agosto-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
GatorV, no habia visto tu mensaje.. si, estuve leyendo algo de DOM, pero me parecio mas facil usar innerHTML (aunque no funciona.. asi que voy a tener que reescribir el codigo)

muchas gracias
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:46.