Foros del Web » Creando para Internet » HTML »

Fallo en maquetacion con FIrefox, perfecto en IE

Estas en el tema de Fallo en maquetacion con FIrefox, perfecto en IE en el foro de HTML en Foros del Web. Muy buenas os comento: REsulta que tengo una función que hace aparecer y desaparecer las filas de la Tabla, y según pulse en un check ...
  #1 (permalink)  
Antiguo 15/03/2010, 05:00
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 8 meses
Puntos: 0
Fallo en maquetacion con FIrefox, perfecto en IE

Muy buenas os comento:
REsulta que tengo una función que hace aparecer y desaparecer las filas de la Tabla, y según pulse en un check box la fila desapare... La funcionalidad va perfectamente en IE y Firefox, y lo he hecho ocultando y mostrando según la ID del TR, lo malo es que en FIrefox la maquetación se desordena totalmente y no sé que hacer... Al quitar el atributo ID del TR en firefox sale bien maquetado pero claro ya no puedo trabajar con ella al perder el ID... Necesito que funcione bien en ambos navegadores... Muchas gracias por adelantado , un saludo
  #2 (permalink)  
Antiguo 15/03/2010, 07:48
Avatar de jmdz  
Fecha de Ingreso: marzo-2010
Ubicación: ¿Acá?
Mensajes: 54
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Fallo en maquetacion con FIrefox, perfecto en IE

¿Podrías mostrarnos el código?
  #3 (permalink)  
Antiguo 15/03/2010, 08:06
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Fallo en maquetacion con FIrefox, perfecto en IE

Cita:
Iniciado por jmdz Ver Mensaje
¿Podrías mostrarnos el código?
EL problema es que sale la tabla en el Firefox descolocado del todo...
Y no sé que hacer...

<table width="65%" border="0" cellspacing="1" cellpadding="0" align="center">
<tr>

<td valign="bottom" class="h01" colspan=2>MOTIVOS ACEPTACION ANALISTA</td>

</tr>
<tr>

<td valign="bottom" class="cel01" width="9%" align="center">CODIGO</td>
<td valign="bottom" class="cel01" width="81%" align="center">ANALISTA</td>

</tr>

<tr>

<script>
for (i=1;i<4;i++)
{

document.write("<tr id='LineaMotivoAceptacionAnalista"+i+"' style='display:block'>");
document.write("<td colspan=2 class='invertir'>");
document.write("<input type='checkbox' onclick='cambiaEstilo(\"LineaMotivoAceptacionAnali sta"+i+"\");' class='input01' name='CheckMotivo"+i+"' >");
document.write("AA ");
document.write("0"+i+" ");
document.write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;");
document.write(MotivosAceptacionAnalista(i));
document.write("<td/>");
document.write("<tr/>");
}
</script>


</table>


function cambiaEstilo(IdObjeto)
{

if(document.getElementById(IdObjeto).className=="i nvertir")
document.getElementById(IdObjeto).className = 'estandar';
else
document.getElementById(IdObjeto).className = 'invertir';


}
  #4 (permalink)  
Antiguo 15/03/2010, 13:06
Avatar de jmdz  
Fecha de Ingreso: marzo-2010
Ubicación: ¿Acá?
Mensajes: 54
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Fallo en maquetacion con FIrefox, perfecto en IE

Te paso tu código revisado, mira los comentarios que incluí, maquetar maqueta bien (ahora), pero no se si funcionara lo de ocultar (para eso me faltaría ver la definición de las clases CSS). Saludos.

Código HTML:
Ver original
  1. function cambiaEstilo(IdObjeto)
  2. {
  3.     if(document.getElementById(IdObjeto).className=="invertir")/* habia un espacio en el nombre de la clase, decia 'i nvertir' */
  4.         document.getElementById(IdObjeto).className='estandar';
  5.     else
  6.         document.getElementById(IdObjeto).className='invertir';
  7. }
  8.  
  9. <table width="65%" border="0" cellspacing="1" cellpadding="0" align="center">
  10.     <tr>
  11.         <td valign="bottom" class="h01" colspan=2>MOTIVOS ACEPTACION ANALISTA</td>
  12.     </tr>
  13.     <tr>
  14.         <td valign="bottom" class="cel01" width="9%" align="center">CODIGO</td>
  15.         <td valign="bottom" class="cel01" width="81%" align="center">ANALISTA</td><!-- ojo que 9%+81%=90% de la tabla que a su ves es el 65% del body (o de lo que la contenga) -->
  16.     </tr>
  17.     <tr>
  18.     <script>
  19. for(i=1;i<4;i++)
  20. {
  21.     document.write("<tr id='LineaMotivoAceptacionAnalista"+i+"' style='display:'>");/* 'display:block'? corresponde table-cell, lo dejo en blanco por que no se que habra en el CSS */
  22.     document.write("<td colspan=2 class='invertir'>");
  23.     document.write("<input type='checkbox' onclick='cambiaEstilo(\"LineaMotivoAceptacionAnalista"+i+"\");' class='input01' name='CheckMotivo"+i+"' >");/* habia un espacio en el nombre de la clase, decia 'LineaMotivoAceptacionAnali sta' */
  24.     document.write("AA ");
  25.     document.write("0"+i+" ");
  26.     document.write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");/* habia un espacio dentro de una de las entidades */
  27. //  document.write(MotivosAceptacionAnalista(i));/* comento esta linea porque no nos pasaste el código de esta funcion */
  28.     document.write("</td>");/* decia '<td/>', el elmento TD no es de modelo de contenido vacio y esta es una etiqueta de cierre */
  29.     document.write("</tr>");/* idem arriba */
  30. }
  31.     </script>
  #5 (permalink)  
Antiguo 15/03/2010, 17:25
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 15 años, 5 meses
Puntos: 24
Respuesta: Fallo en maquetacion con FIrefox, perfecto en IE

En realidad sería mucho mejor que uses DOM en lugar de document.write.

EDIT
Cita:
Iniciado por jevymetal69 Ver Mensaje
Al quitar el atributo ID del TR en firefox sale bien maquetado pero claro ya no puedo trabajar con ella al perder el ID
Eso no es correcto: el atributo rows del objeto Table te permite acceder a todas sus filas a través del índice.

Última edición por bng5; 15/03/2010 a las 17:32
  #6 (permalink)  
Antiguo 16/03/2010, 02:54
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Fallo en maquetacion con FIrefox, perfecto en IE

Mil gracias a los dos, me habeis resuelto el problema...
EMpezaré a trabajar con DOM que es realmente interesante y potente..
Lo dicho muchas gracias...
  #7 (permalink)  
Antiguo 16/03/2010, 10:14
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Fallo en maquetacion con FIrefox, perfecto en IE

Tengo otra cuestión:
Me gustaría saber de que manera puedo recorrer todas las tablas existentes en el docuento y cojer su ID ...
Estoy haciendo esto pero no me sale nada...
A ver si os ocurriera algo...
var ListaTablas = document.getElementsByTagName("Table");

for (var i = 0; i < ListaTablas.length; i++){

alert("dentro-->" + ListaTablas[i].getNamedItem("id").value);
alert("dentro-->" + ListaTablas[i].attributes.item("id").nodeValue);
alert("dentro-->" + ListaTablas[i].attributes.getNamedItem("id").nodeValue);

}
  #8 (permalink)  
Antiguo 16/03/2010, 12:49
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 15 años, 5 meses
Puntos: 24
Respuesta: Fallo en maquetacion con FIrefox, perfecto en IE

Código:
var ListaTablas = document.getElementsByTagName("Table");
// ListaTablas es ahora una colección de objetos del tipo HTMLTableElement

for (var i = 0; i < ListaTablas.length; i++) {
    alert("id: " + ListaTablas[i].id);
}
  #9 (permalink)  
Antiguo 17/03/2010, 03:50
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Fallo en maquetacion con FIrefox, perfecto en IE

Muchas gracias¡¡ Que obviedad más grande y sin verla¡¡ Madre mía... jajjaa
Muchas gracias de nuevo¡

Etiquetas: fallo, firefox, maquetacion, perfecto
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:23.