Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Al actualizar la pagina pierdo lo cargado por ajax

Estas en el tema de Al actualizar la pagina pierdo lo cargado por ajax en el foro de Frameworks JS en Foros del Web. Hola banda programadora!! Am... en vdd no sabia si poner esto en el subforo d JS o en AJX pro me decidi por este jeje ...
  #1 (permalink)  
Antiguo 05/03/2008, 11:10
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 16 años, 10 meses
Puntos: 5
Al actualizar la pagina pierdo lo cargado por ajax

Hola banda programadora!! Am... en vdd no sabia si poner esto en el subforo d JS o en AJX pro me decidi por este jeje

Tengo un problema con un div, se supone que mi ajax me carga un select2 dependiendo de lo que haya seleccionado en el select1. Eso lo hace de maravilla!!

La cosa es que valido que tanto uno como el otro se encuentren seleccionados mediante Javascript:
Código PHP:
var edificio document.getElementById("edificio_slt").value;
  
  if(
edificio == -1){
      
alert("Seleccione un edificio para poder seleccionar el aula");
      return 
false;
  }
  else
  {
     var 
aula document.getElementById("aula_slt").value;
     if(
aula == -1){
        
alert("Selecciona un aula");
        return 
false;
     }
  } 
Como se puede ver, la primera opcion de mis select's tienen el tipico mensaje de "Selecciona X cosa", y su valor es -1, con lo cual si en el select edificio tengo algun valor diferente a -1 voy al select aula con lo que tambien valido que no sea el valor -1.

Todo funciona muy bien, pero el problema esta cuando tengo seleccionado el edificio y el aula, p. ej (Edificio: B, Aula: B12), y si presiono actualizar queda seleccionado Edificio B, pero el select que cargue en Aula desaparece, por lo cual al tener el Edificio un valor diferente a -1 busca el valor del select Aula, pero este no existe y javascript me marca un error!!

Que puedo hacer?

Am... moderator, si el tema no corresponde a Ajax sino a Javascript ps puedes hacer el cambio correspondiente. Salutes!!

[Rocanlovers]
  #2 (permalink)  
Antiguo 05/03/2008, 12:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Al actualizar la pagina pierdo lo cargado por ajax

Es un problema común de AJAX, al tu insertar elementos generados por AJAX si recargas la pagina, los perderás, ya que esos cambios se hacen en la copia local del cliente, al tu recargar la pagina le pides al server que te envíe una nueva copia (sin los cambios de AJAX).

Para solucionar tu problema te recomiendo hacer una función en JavaScript, que verifique al cargar la pagina, si tu primer select tiene algún otro atributo seleccionado, entonces llame al evento onChange de tu segundo select y así recargar los valores.

Saludos.
  #3 (permalink)  
Antiguo 05/03/2008, 12:22
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 16 años, 10 meses
Puntos: 5
Problema resulto, cambio y fuera!!....

Gracias x la respuesta GatorV hice algo similar a lo que dices, me di a la tarea de seguir probando varias cosas jeje y pude resolver el problema creando una funcion que me colocara el valor del primer select (Edificio) con el valor igual a -1

Código PHP:
function reinicia_select(){
 
document.getElementById("edificio_slt").value=-1;

y que será llamda en el body con el evento onLoad

Código PHP:
<body onLoad="reinicia_select()"
Con eso el valor del select se colocaba en el mensaje de Seleccione un edificio lo cual forza al usuario a seleccionar un edificio de la lista.

Pero mejor intentare la opcion que me dices, lo cual hara que se carguen los valores de nuevo en el ajax.

Gracias....Salutes!!....
  #4 (permalink)  
Antiguo 05/03/2008, 12:46
Avatar de charolastrazoe  
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 16 años, 10 meses
Puntos: 5
Re: Al actualizar la pagina pierdo lo cargado por ajax

Ya sta!! ahora al actualizar la pagina se mantiene x ejemplo seleccionado el edificio B en el primer select y se carga por ajax el segundo select con las aulas.

Código PHP:
function ajustar_ajax(){
  
id_edificio document.getElementById("edificio_slt").value;
  if(
id_edificio != -1){
     
carga_aula();//Llama a la función ajax que carga el select con las aulas
  
}

y el llamado de la funcion de nuevo es en el load del body. Pero me entro la curiosidad, aunq no se si se pueda, que en el evento onUnload se llame a una funcion que guarde el valor que tenia el select de las Aulas (es el select que se carga por ajax) y ese valor pueda ser llamado por la funcion ajustar_ajax()

Grax d nvo...!!!

[Rocanlovers]
  #5 (permalink)  
Antiguo 05/03/2008, 15:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Al actualizar la pagina pierdo lo cargado por ajax

Actualmente en varios navegadores hay un problema que si mandas llamar a una petición AJAX en el evento onUnload, este a veces se ejecuta, pero la mayoría del tiempo parece como si se quedara perdido.

No te fíes de usar onUnload, es mejor que busques otra alternativa.

Saludos.
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 03:48.