Foros del Web » Programando para Internet » Javascript »

Reemplazar en elemento DOM , no funciona en IE

Estas en el tema de Reemplazar en elemento DOM , no funciona en IE en el foro de Javascript en Foros del Web. Hola amigos Tengo la siguiente duda: Estoy trabajando en un sistema de creacion de ordenes de trabajo para mi uso personal en mi fabrica de ...
  #1 (permalink)  
Antiguo 08/08/2007, 20:37
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Reemplazar en elemento DOM , no funciona en IE

Hola amigos

Tengo la siguiente duda:

Estoy trabajando en un sistema de creacion de ordenes de trabajo para mi uso personal en mi fabrica de prendas de vestir, el punto esque estoy usando un codigo que "clona" una fila de una tabla y la repite.

Al momento de repetirla lo que hago es "reemplazar" parte de su codigo por algo que yo decida, para ello utilizo innerHTML para obtener lo datos

El codigo:

Código:
var tabla = document.getElementById( id );
var tbody = document.getElementById( tabla.id ).tBodies[0];
var row = tbody.rows[0].cloneNode( true );
var id = 1;
while( document.getElementById( 'pds_'+id ) ) {
id++;
}
row.id = 'pds_'+id;
row.style.display = '';
tbody.appendChild( row );

var cadena = row.innerHTML;
cadena = str_replace('rpid',id,cadena);
row.innerHTML = cadena;
Si se fijan, inserto el nodo con appendChild y posteriormente hago el str_replace , esta funcion ya la tengo definida en mi codigo por lo que si existe y funciona super bien.

Cuando hago el innerHTML = cadena; internet explorer me lanza un error javascript en la barra de estado "desconocido", mientras que en Mozilla Firefox me anda de pelos.

Alguna ayuda?

MUCHAS GRACIAS.
__________________
Roberto Osses Elgueta
Senior Web Developer
  #2 (permalink)  
Antiguo 09/08/2007, 07:43
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Re: Reemplazar en elemento DOM , no funciona en IE

Has probado usar replace?.... cadena.replace(aRemplazar,nuevo) y eso se lo asignas a una variable y luego haces la asignacion; yo he hecho eso y si funciona.
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #3 (permalink)  
Antiguo 09/08/2007, 08:26
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Re: Reemplazar en elemento DOM , no funciona en IE

Hola B**

Con replace o la que cree yo para js (str_replace), me reemplaza correctamente los datos.

El problema se presenta cuando hago:

Código:
row.innerHTML = cadena;
Es ahi cuando IE falla =(

Y me dice: "Error en tiempo de ejecucion !!!"
__________________
Roberto Osses Elgueta
Senior Web Developer
  #4 (permalink)  
Antiguo 09/08/2007, 09:14
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Re: Reemplazar en elemento DOM , no funciona en IE

SOLUCIONADO

Quiero compartir la solucion con ustedes amigos, como no podia trabajar el objeto "row" a traves de innerHTML despues de ejecutado el appendChild();

Me puse a averiguar sobre los elementos DOM y en vez de trabajar el elemento a nivel de fila, lo trabaje a nivel de cada celda (un poco mas engorroso)

Ejemplo:

Código:
var g = nodo.cells[2].innerHTML;
g = str_replace('rpid',id,g);
nodo.cells[2].innerHTML = g;

Como en mi caso eran 4 elementos lo meti dentro de un for y asunto solucionado

Saludos!
__________________
Roberto Osses Elgueta
Senior Web Developer
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 01:11.