Foros del Web » Programando para Internet » Javascript »

No me funciona en Explorer

Estas en el tema de No me funciona en Explorer en el foro de Javascript en Foros del Web. Hola, tengo un problema con el siguiente codigo y es que no me funciona en explorer. Basicamente el codigo javascript lo que hace es generar ...
  #1 (permalink)  
Antiguo 12/04/2007, 14:41
 
Fecha de Ingreso: abril-2005
Mensajes: 19
Antigüedad: 19 años
Puntos: 0
No me funciona en Explorer

Hola, tengo un problema con el siguiente codigo y es que no me funciona en explorer. Basicamente el codigo javascript lo que hace es generar una linea de detalle por DOM despues de haber introducido unos datos en un popup. Crea una fila de detalle y dentro una tabla de tres filas con 3 columnas la del centro donde posiciona el contenido por innerHTML.

En firefox me funciona perfecto pero en explorer lo unico que se crea es la fila inicial. La tabla interior que contiene los datos no se muestra, con lo que unicamente me sale un recuadro vacio pequeño.

La verdad que el explorer me tiene frito y esto lo necesito urgente, alguien tiene idea de como podria solucionar el problema?

Saludos y gracias por anticipado

Código:
function escribir_linea(idcafe,precio,fn,kgacuerdo,cestc,cdist,cccb,subtotal,sobreprecio,preciototal,fntotal) {
	tablabody = opener.document.getElementById(idestablecimiento + "_cafe");
	fila = opener.document.createElement('tr');
	fila.id = idestablecimiento + "_cafe_" + idcafe;
	celda = opener.document.createElement('td');
	celda.className = 'linea';

	tablacontenido = opener.document.createElement('table');
	tablacontenido.border = 0;
	tablacontenido.cellPadding = 0;
	tablacontenido.cellSpacing = 0;
	tablacontenido.className = 'contenidoLinea';
	filasupcontenido = opener.document.createElement('tr');
	celdasupcontenido = opener.document.createElement('td');
	celdasupcontenido.colSpan = 3;
	filacencontenido = opener.document.createElement('tr');
	filacencontenido.vAlign = 'top';
	filacencontenido.id = idestablecimiento + "_linea_" + idcafe;
	filacencontenido.setAttribute("name",idestablecimiento + "_linea_" + idcafe);
	filacencontenido.setAttribute("display","visible");
	celdaizqcontenido = opener.document.createElement('td');
	celdaizqcontenido.width = 190;
	celdacencontenido = opener.document.createElement('td');
	celdacencontenido.width = 190;
	celdadercontenido = opener.document.createElement('td');
	celdadercontenido.width = 190;
	filainfcontenido = opener.document.createElement('tr');
	filainfcontenido.id = idestablecimiento + "_botones_" + idcafe;
	filainfcontenido.setAttribute("name",idestablecimiento + "_botones_" + idcafe)
	filainfcontenido.setAttribute("display","visible");
	celdainfcontenido = opener.document.createElement('td');
	celdainfcontenido.colSpan = 3;
	celdainfcontenido.align = 'right';
	celdainfcontenido.vAlign = 'bottom';


	celdasupcontenido.innerHTML = '<div style="position:absolute;margin-left:555px;margin-top:2px;"><a href="javascript:desplegarCapa(0,\'' + idestablecimiento + "_linea_" + idcafe + '\');desplegarCapa(0,\'' + idestablecimiento + "_botones_" + idcafe + '\');desplegarCapa(0,\'' + idestablecimiento + "_descafe_" + idcafe + '\');desplegarCapa(1,\'' + idestablecimiento + "_ocucafe_" + idcafe + '\');"><img name="' + idestablecimiento + "_descafe_" + idcafe + '" id="' + idestablecimiento + "_descafe_" + idcafe + '" style="display:visible;" src="../../img/arrow_up.gif" border="0" /></a></div>';
	celdasupcontenido.innerHTML = celdasupcontenido.innerHTML + '<div style="position:absolute;margin-left:555px;margin-top:2px;"><a href="javascript:desplegarCapa(1,\'' + idestablecimiento + "_linea_" + idcafe + '\');desplegarCapa(1,\'' + idestablecimiento + "_botones_" + idcafe + '\');desplegarCapa(0,\'' + idestablecimiento + "_ocucafe_" + idcafe + '\');desplegarCapa(1,\'' + idestablecimiento + "_descafe_" + idcafe + '\');"><img name="' + idestablecimiento + "_ocucafe_" + idcafe + '" id="' + idestablecimiento + "_ocucafe_" + idcafe + '" style="display:none;" src="../../img/arrow_down.gif" border="0" /></a></div>';
	celdasupcontenido.innerHTML = celdasupcontenido.innerHTML + '<div style="">' + arrTiposCafes[idcafe] + '&nbsp;&nbsp;&nbsp;</div>';

	celdaizqcontenido.innerHTML = '<br><strong>Detalles:</strong><br>Precio Tarifa: ' + precio + ' &euro;<br>';
	celdaizqcontenido.innerHTML = celdaizqcontenido.innerHTML + 'FN Tarifa por Kg: ' + fn + ' &euro;<br>';
	celdaizqcontenido.innerHTML = celdaizqcontenido.innerHTML + 'Kg Acuerdo: ' + kgacuerdo + ' Kg<br>';
	celdaizqcontenido.innerHTML = celdaizqcontenido.innerHTML + '<div style="margin-top:8px;"><strong>Precio Total: </strong>' + preciototal + ' &euro;</div>';

	celdacencontenido.innerHTML = '<br><br>Cesion ESTC: ' + cestc + ' &euro;<br>';
	celdacencontenido.innerHTML = celdacencontenido.innerHTML + 'Cesion Distribuidor: ' + cdist + ' &euro;<br>';
	celdacencontenido.innerHTML = celdacencontenido.innerHTML + 'Cesion CCB: ' + cccb + ' &euro;<br>';

	celdadercontenido.innerHTML = '<br><br>Subtotal: ' + subtotal + ' &euro;<br>';
	celdadercontenido.innerHTML = celdadercontenido.innerHTML + 'Sobreprecio: ' + sobreprecio + ' &euro;<br>';
	celdadercontenido.innerHTML = celdadercontenido.innerHTML + 'FN Total: ' + fntotal + ' &euro;<br>';


	celdainfcontenido.innerHTML = '<div style="margin-bottom:6px;margin-right:3px;"><a class="botones" href="JavaScript:PopWindow(\'popupcafe.php?idesta=' + idestablecimiento + '&tipo=mod&idcafe=' + idcafe + '&idfila=' + idestablecimiento + "_cafe_" + idcafe + '\',\'cafe\',410,400,\'no\')">Modificar</a> <a class="botones" href="javascript:JavaScript:PopWindow(\'popupcafe.php?idesta=' + idestablecimiento + '&tipo=del&idcafe=' + idcafe + '&idfila=' + idestablecimiento + "_cafe_" + idcafe + '\',\'cafe\',480,138,\'no\');">Eliminar</a></div>';

	filasupcontenido.appendChild(celdasupcontenido);
	filacencontenido.appendChild(celdaizqcontenido);
	filacencontenido.appendChild(celdacencontenido);
	filacencontenido.appendChild(celdadercontenido);
	filainfcontenido.appendChild(celdainfcontenido);
	tablacontenido.appendChild(filasupcontenido);
	tablacontenido.appendChild(filacencontenido);
	tablacontenido.appendChild(filainfcontenido);
	celda.appendChild(tablacontenido);
	fila.appendChild(celda);
	tablabody.appendChild(fila);

	desplegarCapa(0,idestablecimiento + "_linea_" + idcafe);
	desplegarCapa(0,idestablecimiento + "_botones_" + idcafe);
	desplegarCapa(0,idestablecimiento + "_descafe_" + idcafe);
	desplegarCapa(1,idestablecimiento + "_ocucafe_" + idcafe);
}
  #2 (permalink)  
Antiguo 12/04/2007, 23:38
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Re: No me funciona en Explorer

Ponerse a mirar todo eso es se hace un poco pesado... ¿por qué no vas poniendo "alert()" para localizar donde el fallo y lo pones?

Salu2
  #3 (permalink)  
Antiguo 12/04/2007, 23:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: No me funciona en Explorer

Hola:

Aparte de lo que dice MikiBroki (¡Hola !), el tema de las tablas tratadas dinámicamente es un poco "puñetero"

No sé si tienes definidas etiquetas tbody, pero dinámicamente no se deben omitir porque los navegadores las crean aunque no estén declaradas (también podrían tratarse de tfoot's o thead's...

Controla eso, y procura ponernos los códigos algo más escuetos.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 13/04/2007, 00:47
 
Fecha de Ingreso: abril-2005
Mensajes: 19
Antigüedad: 19 años
Puntos: 0
Re: No me funciona en Explorer

Gracias a los dos, ya lo he solucionado. Efectivamente creando los elementos thead, tbody y tfoot se soluciona.

Saludos, y perdon por el trozo enorme de codigo
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 08:34.