Foros del Web » Programando para Internet » Javascript »

refrescar marco cuando cambio la BD

Estas en el tema de refrescar marco cuando cambio la BD en el foro de Javascript en Foros del Web. Hola muchachada!, les cuento mi problema (espero lo entiendan): Mis usuarios cargan un nuevo registro en una BD; luego tienen la posibilidad de ver estos ...
  #1 (permalink)  
Antiguo 02/12/2002, 18:57
CiS
 
Fecha de Ingreso: abril-2002
Mensajes: 71
Antigüedad: 22 años
Puntos: 0
refrescar marco cuando cambio la BD

Hola muchachada!, les cuento mi problema (espero lo entiendan):

Mis usuarios cargan un nuevo registro en una BD; luego tienen la posibilidad de ver estos datos, junto con los cargados por otros usuarios, en otra pagina.
Pero para visualizar el registro recien cargado por ellos tienen que hacer F5 o presionar Actualizar en su navegador. Yo quisiera que esta pagina se refresque sola.
Utilizando la busqueda de estos foros, encontre que para refrescar paginas hay varias posibilidades:
-Tener un boton que el usuario presione y refresque.
-Refrescar automaticamente cada X tiempo la pagina.
-Refrescar cuando se carga la pagina.

Esta ultima es la que me interesa, y vi que solo tenia que agregar
window.location.reload() a mi pagina. Esta linea de codigo, yo la ejecutaba en el OnLoad del marco que quiero refrescar
yo estoy aprendiendo JavaScript, asi que algo debo estar haciendo mal pero no se que es, porque me refresca toda la pagina completa (la que contiene todos los marcos), y en vez de continuar cargando la pagina que estaba abriendo, vuelve a la pagina de inicio (en el marco digo).
Probe de cambiar la linea por
top.NombreDelMarco.location.reload(), tambien probe
parent.frames[\'mainFrame\']
y nada...
mi codigo es algo asi:
<script languaje="JavaScript">
Function refrescar() {
window.location.reload(); // esta es la que probe de cambiar
}

y en el body de la pagina:
<body onLoad="refrescar();"...> //tambien probe
<body onLoad="JavaScript: refrescar();" //y tambien
<body onLoad="JavaScript: window.location.reload();" //con sus variantes

Uff!, era largo el tema!, espero que alguien me pueda tirar una ayudita.

Muchos saludos y suerte... CiS
  #2 (permalink)  
Antiguo 02/12/2002, 19:28
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
No se si te estoy entendiendo bien. ¿La página donde introducen un registro es la misma que contiene todos los registros o es otra?

Lo que estás haciendo al agregar esa instrucción, es pidiendo la página de nuevo a su dirección de origen cuando se carga . Es decir, no te la refresca, solo evita que uses la del caché.

¿Te sirve eso?
  #3 (permalink)  
Antiguo 03/12/2002, 03:43
 
Fecha de Ingreso: diciembre-2002
Mensajes: 22
Antigüedad: 21 años, 5 meses
Puntos: 0
el método reload() se usa con dos posibles parametros:
false ó true.
false lo usa por defecto y le dice que refresque la página desde la caché.
true (reload(true)) le dice que llame al servidor e ignore la caché.
Es decir, y si te he entendido bien, lo que tienes que hacer es escribir en la etiqueta <body> del marco que quieres recargar lo siguiente:

onload="self.location.reload(true)".


un saludo
  #4 (permalink)  
Antiguo 03/12/2002, 13:17
CiS
 
Fecha de Ingreso: abril-2002
Mensajes: 71
Antigüedad: 22 años
Puntos: 0
Hola!,
Son dos paginas distintas, solo estaba poniendo en contexto el tema, yo lo que quiero es que la persona vea los registros que el cambio en ese momento en la pagina destinada a mostrar los registros.
No se si tengo que refrescar o recargar o como es el tema. Esto que les conte es lo que estuve probando pero si hay otra forma de hacerlo, escucho ofertas!.

Una cosa que me dijeron es que podia tener algo mal configurado en mi Navegador o alguna opcion de internet, o no se,
y eso hacia que yo no vea los nuevos cambios, por ejemplo si en la pagina yo reemplace una imagen por otra, cuando la quiero ver sigo viendo la pagina con la imagen vieja. Borre cookies, historial, todo, y cuando llamo a esa pagina la veo con la foto vieja. Desde otras maquinas se ve la nueva.
A lo que me refiero es ¿puede ser que alguna de todas las opciones que probe funcione, y yo no lo vi porque seguia viendo una version anterior?.

De todas formas voy a probar de poner reload(true) y les cuento.

Saludos... CiS
  #5 (permalink)  
Antiguo 03/12/2002, 15:38
CiS
 
Fecha de Ingreso: abril-2002
Mensajes: 71
Antigüedad: 22 años
Puntos: 0

no he podido solucionarlo, me vuelve al marco inicial en vez de seguir abriendo el que tiene en el body la funcion refrescar().

No se si es que no me explique bien, por favor diganme si es asi.

Saludos a todos... CiS
  #6 (permalink)  
Antiguo 04/12/2002, 02:03
 
Fecha de Ingreso: diciembre-2002
Mensajes: 22
Antigüedad: 21 años, 5 meses
Puntos: 0
¿Por qué no mandas el código?
Seguro que es una tontería fácil de solucionar, pero no entendemos tu pregunta.

Un saludo
  #7 (permalink)  
Antiguo 06/12/2002, 21:44
CiS
 
Fecha de Ingreso: abril-2002
Mensajes: 71
Antigüedad: 22 años
Puntos: 0
Chicos, me imagino que es una pavada, pero soy medio queso pa' cerme entender

El tema es asi: el usuario ingresa al sitio, que tiene como pagina inicial una pagina de marcos llamada "Homepage.htm".
Por medio de un link, carga en el mainFrame una pagina llamada "ingresarNuevoRegistro.asp" (que carga en la base de datos un nuevo registro).
Luego vuelvo a poner en este marco la pagina que tenia al principio.
Ahora, si el usuario quiere ver todos los registros cargados hasta el momento, tiene un link a otra pagina: "muestroRegistros.asp". Cuando se carga esta pagina en el mainFrame, no muestra el registro que recien se cargó.
Lo que pretendo es que al ingresar a "muestroRegistros.asp" se refresque la pagina (algo asi como el F5) porque de esta manera veo el nuevo registro.

Aca esta el codigo con las distintas pruebas que hice. Pertenece a la pagina: "muestroRegistros.asp", que muestra una consulta a una tabla usuarios (Access).

<head>
...
<script language="JavaScript">

function refrescar () {
//opcion 1
parent.frames[\'mainFrame\']'.location.reload();
//opcion 2
//window.location.reload();
//opcion 3
//self.location.reload();
//otras que no me acuerdo
}

</script>
</head>

<body onLoad="refrescar();" link="#000000" ......etcétera

Esto lo que hace es cargar otra vez "Homepage.htm" con la pagina inicial en el mainFrame, en lugar de la que yo queria ver: "mostrarRegistros.asp".

Espero que ahora si se entienda lo que me pasa! AYUDA!

Muchos saludos, CiS
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:55.