Foros del Web » Programando para Internet » Jquery »

IE y métodos jQuery .html() y .append()

Estas en el tema de IE y métodos jQuery .html() y .append() en el foro de Jquery en Foros del Web. Hola a todos, He visto que hay ya varios post como un problema similar al mío pero ninguna solución propuesta me ha servido para solucionarlo. ...
  #1 (permalink)  
Antiguo 13/10/2010, 03:49
 
Fecha de Ingreso: febrero-2010
Ubicación: Asturias patria querida
Mensajes: 45
Antigüedad: 14 años, 10 meses
Puntos: 4
IE y métodos jQuery .html() y .append()

Hola a todos,

He visto que hay ya varios post como un problema similar al mío pero ninguna solución propuesta me ha servido para solucionarlo.

Todo mi quebradero de cabeza viene gracias al maravilloso y nunca problematico navegador Internet Explorer, en mi caso la versión 8, esa que iba a ser tan buena antes de su salida y que como siempre decepcionó a propios y extraños...

A lo que vamos, estoy haciendo una aplicación que carga fichas de productos y clientes mediante métodos ajax de jquery.

estas son las funciones, de lo más sencillo:

Código PHP:
function fichaProducto(id){
    $.
post('fichaProducto.php',{'id':id},function(datos){
        $(
'#marco-ficha-producto').html(datos);
    });
}

function 
fichaCliente(id){
    $.
post('fichaCliente.php',{'id':id},function(datos){
        $(
'#marco-ficha-cliente').html(datos);
    });

Como era de esperar no hay problemas en ningún navegador excepto en el susodicho, que arroja un error en el archivo jquery.js línea 183, así que despues de leer que a IE no le gusta el método .html() decido probar con .append(), cambio la primera funcion dejandola asi:

Código PHP:
function fichaProducto(id){
    $.
post('fichaProducto.php',{'id':id},function(datos){
        $(
'#marco-ficha-producto').empty();
        $(
'#marco-ficha-producto').append(datos);
    });

Con este cambio la primera función... funciona!! perfecto, cambio tambien la segunda, y cuando pruebo... no funciona ninguna de las dos!! como es posible??

Bueno... vuelvo a cambiar la primera al método .html() y vuelve a funcionar, pero si cambio la otra, dejan de funcionar las dos.

Después de ver esto pienso, al problema debe estar en la segunda función, en el archivo php debe haber algo mal... pero antes de cambiar nada decido comentar la primera de las funciones y dejar solo la segunda: pues funciona!! tanto con .html() como con .append(), como es esto posible???

De verdad que estoy para meter la cabeza en el water y tirar de la cadena...

una ayuda por favor, no sé si se nota pero estoy un poco desesperada
  #2 (permalink)  
Antiguo 13/10/2010, 04:58
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: IE y métodos jQuery .html() y .append()

funciona los 2 en ie

create 2 archivos externos, fichaProducto.php y fichaCliente.php que sean de lo mas simple o mejor html y trata con ellos para ver que pasa, debe ser otra cosas y no el navegador

o postea el html de fichaProducto.php y fichaCliente.php, pero sólo el html (salida que genera el navegador) y el archivo que llama a esas funciones
  #3 (permalink)  
Antiguo 13/10/2010, 05:18
 
Fecha de Ingreso: febrero-2010
Ubicación: Asturias patria querida
Mensajes: 45
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: IE y métodos jQuery .html() y .append()

Gracias por responder.

Voy a hacer lo que dices, haré dos nuevos archivos simples a ver si se sigue produciendo el error e iré añadiendoles contenido poco a poco para ver donde empiza a fallar.

Si así no consigo solucionarlo postearé fichaCliente.php y fichaProducto.php a ver si me podeis echar una mano.

Cuando me pasan estas cosas pienso que es mejor desarrollar directamente en IE para ir solucionando los problemas conforme van surjiendo, porque la verdad es frustrante desarrollar en firefox, donde todo queda tan bonito, y cuando has terminado el trabajo ir a IE y ver que nada sale como debería.

Etiquetas: append, html
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 12:56.