Foros del Web » Programando para Internet » Jquery »

Cargar página con AJAX, y el contenido no se asocia con jquery

Estas en el tema de Cargar página con AJAX, y el contenido no se asocia con jquery en el foro de Jquery en Foros del Web. Hola! Tengo un problema con ajax. Os lo relato a ver si podéis saber que está pasando. Tengo una web en la que cargo mucho ...
  #1 (permalink)  
Antiguo 11/08/2010, 14:55
 
Fecha de Ingreso: febrero-2006
Mensajes: 20
Antigüedad: 18 años, 2 meses
Puntos: 0
Cargar página con AJAX, y el contenido no se asocia con jquery

Hola!

Tengo un problema con ajax. Os lo relato a ver si podéis saber que está pasando.

Tengo una web en la que cargo mucho contenido con AJAX.
Cargo el contenido que necesito, en cualquier div de etiqueta "capainterior" de la web con la función de ajax:

ajax(_pagina,valorget,valorpost,capainterior,texto carga);

Supongamos que _pagina es pagina.php?area=clientes

Dicha "_pagina", no es una página html completa con HEAD BODY y demás. Únicamente tiene el código que necesito, que son unos cuantos divs, y un textarea

Entonces dentro del div sobre el que he cargado el contenido(con ajax), tengo un textarea que utiliza una propiedad de jquery para auto - redimensionarse.

Simplemente utiliza el class. Por ejemplo:

Mensaje:<textarea name="textoaenviar" class="areasdetexto expand" ></textarea>

Luego en la página principal tengo:

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="misfunciones.js"></script>

Y dentro de misfunciones.js la función de jquery, y además lo siguiente:

// initialize all expanding textareas
jQuery(document).ready(function() {
jQuery("textarea[class*=expand]").TextAreaExpander("70","500");
});

Como véis, lo único que relaciona al textarea con la función de jquery es el "expand".

El caso es que no consigo que funcione el autoredimensiona cuando el textarea lo cargo con ajax. Lo curioso, es que si cargo el contenido del div por separado en otra ventana del navegador, si que funciona!!! (Siempre que le ponga el body, head, y las funciones de javascript claro)

Creo que al cargarlo mediante ajax, hace algo extraño, que las funciones de jquery no ven... Por pensar algo podría ser que al cargar el contenido de la página en un div... el textarea que ha aparecido, ya no está asociado al jquery, y habría que refrescar de alguna manera el jquery. Pero no sé...


También se me ha ocurrido que "_pagina" se cargue como si fuera una página html entera, dentro del div. Es decir , tendría el body, head, las funciones de javascript, CSS y demás, pero tampoco ha funcionado. (Tal como he dicho antes, esto si que funciona, si la página pagina.php?area=clientes la ejecuto por separado, sin utilizar ajax...)



La función de ajax que utilizo es esta:


function ajaxgeneral(_pagina,valorget,valorpost,capainterio r,textocarga){

ajax=objetus(_pagina);


if(valorpost!="")
{

ajax.open("POST", _pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);

}
else
{

ajax.open("GET", _pagina+"?"+valorget+"&tiempo="+new Date().getTime(),true);

}

ajax.onreadystatechange=function()
{

if (ajax.readyState==1)
{

document.getElementById(capa).innerHTML = textocarga;

}

if (ajax.readyState==4)
{


if(ajax.status==200)

{
document.getElementById(capa).innerHTML = ajax.responseText;
}
else if(ajax.status==404)
{
document.getElementById(capa).innerHTML = "La direccion no existe";
}
else
{
document.getElementById(capa).innerHTML = "Error ";
}
}

}

if(valorpost!="")
{

ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

ajax.send(valorpost);

}
else
{
ajax.send(null);
}

}



Y bueno, ese es el problema... A ver si alguna alma caritativa puede echarme un cable, porque llevo ya unos cuantos días rompiendome la cabeza y no hay manera


Perdonar a todos por el tocho!! Y gracias!
  #2 (permalink)  
Antiguo 11/08/2010, 17:45
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Cargar página con AJAX, y el contenido no se asocia con jquery

es por tu funcion de redimensionar:

Código:
// initialize all expanding textareas
jQuery(document).ready(function() {
jQuery("textarea[class*=expand]").TextAreaExpander("70","500");
});
jQuery(document).ready(function() es cuando carga la página osea estas llamando a los métodos cuando inicializa la web... no cuando carga tu div. Por lo que deberás ejecutar esa función mediante otro evento que no sea (document).ready, quizas te funcione con el evento "click" de algún vinculo o meterlo dentro de tu funcion que carga tu div. Suerte.
__________________
Quitenme la vida pero no la bebida.
  #3 (permalink)  
Antiguo 11/08/2010, 17:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 20
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Cargar página con AJAX, y el contenido no se asocia con jquery

Cita:
Iniciado por cesarpunk Ver Mensaje
es por tu funcion de redimensionar:

Código:
// initialize all expanding textareas
jQuery(document).ready(function() {
jQuery("textarea[class*=expand]").TextAreaExpander("70","500");
});
jQuery(document).ready(function() es cuando carga la página osea estas llamando a los métodos cuando inicializa la web... no cuando carga tu div. Por lo que deberás ejecutar esa función mediante otro evento que no sea (document).ready, quizas te funcione con el evento "click" de algún vinculo o meterlo dentro de tu funcion que carga tu div. Suerte.
¡¡Gracias!! Voy a ver como lo puedo conseguir con la pistaza que me has dado ^_^
  #4 (permalink)  
Antiguo 15/08/2010, 18:51
 
Fecha de Ingreso: febrero-2006
Mensajes: 20
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Cargar página con AJAX, y el contenido no se asocia con jquery

Aun sigo sin poder saber porqué no funciona.. La verdad es que he intentado algunas cosas con jquery pero como no estoy muy familiarizado.. jejej

El caso, es que creo que el error está en la función de AJAX. Lo digo porque hoy mismamente estaba repasando una de las secciones de la web, y resulta que lo que cargo sin AJAX funciona bien, y lo que cargo con AJAX no coje todos los estilos que debería.

Y el caso es que utilizo exactamente los mismos datos para cargar con ajax que sin ajax. La única diferencia es la que todos sabemos, con ajax solo cargamos un trocito, y sin ajax toca cargar la página entera.

Además incluso sacando el "trocito" que se carga con ajax fuera de la página, si que se ve igual que si se carga sin ajax.

Así que debe de estar pasando algo raro con la función de ajax.

¿¿¿A nadie le ha pasado esto mismo??? Porque la verdad que es bastante desesperante ver como te funciona sin ajax, cargas el mismo contenido con ajax, y ZAS, hay cosas que no funciona como jquery, y otras que no se cargan al 100% como los estilos. La mayoría funcionan pero hay otros que no...


Si alguien tiene una idea le agradecería muchísimo su ayuda...


PD: El tema de que no carga el 100% de los estilos correctamente lo hace en Firefox, en Opera funciona todo bien.
  #5 (permalink)  
Antiguo 14/01/2011, 03:12
vejin666
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cargar página con AJAX, y el contenido no se asocia con jquery

Hola Valencia1984, buscando tu mismo problema di con esto http://www.forosdelweb.com/f127/jque...xxlink-840236/ en este mismo foro, espero te sirva y espero no llegar tarde a tu problema xD.
  #6 (permalink)  
Antiguo 14/01/2011, 09:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tema movido desde AJAX
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: ajax, contenido
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 02:53.