Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Actualización de página.

Estas en el tema de Actualización de página. en el foro de Javascript en Foros del Web. Hola, soy nuevo en el foro y tengo una consulta y si tiene, busco una solución a mi problema. Trabajo con ASP Clásico y en ...
  #1 (permalink)  
Antiguo 10/12/2014, 05:33
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 9 años, 4 meses
Puntos: 4
Actualización de página.

Hola, soy nuevo en el foro y tengo una consulta y si tiene, busco una solución a mi problema.
Trabajo con ASP Clásico y en mi página tengo un formulario con varios textbox, selectbox, etc. y mediante la función:

Código HTML:
<script type="text/javascript">
function recargar(){
window.location.reload();
}
</script> 
hago que al hacer click en un botón recargue mi página como si pulsara F5, en el navegador Mozilla Firefox consigo que al hacer esto, los datos introducidos en los componentes del formulario se guarden y aparezcan cuando la página ha sido actualizada (por lo que he leído, supongo que porque son almacenados en cache y al no tener el parametro "true" no son borrados).
El problema esta cuando quiero hacer esto en otro navegador como Google Chrome o IE, que cuando presiono el botón, los valores no son mostrados (aparentemente, como si estubiera el parametro "true").

Me gustaría que los valores se mostraran en el resto de navegadores si fuera posible. Gracias de antemano.
  #2 (permalink)  
Antiguo 10/12/2014, 11:37
Avatar de javi9213  
Fecha de Ingreso: octubre-2014
Ubicación: Mijas Costa
Mensajes: 7
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Actualización de página.

Buenas, a mi siempre me ha funcionado ese código, por lo menos en Chrome, pero si no funciona, este otro hace lo mismo lo que no sé, es si te va a guardar la información.
Es cuestión de probarlo:
Código HTML:
<script type="text/javascript">
function recargar(){
    document.location.href = "./";
}
</script> 
Este código también recarga la página igual que pulsando F5 en el navegador, espero que te funcione.

Un saludo
  #3 (permalink)  
Antiguo 10/12/2014, 14:18
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Actualización de página.

No tiene nada que ver la caché del navegador con la función de autocompletar del formulario. Prueba añadiendo el atributo autocomplete="on" al form para asegurarte de que se están almacenando correctamente.
  #4 (permalink)  
Antiguo 11/12/2014, 02:02
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 9 años, 4 meses
Puntos: 4
Respuesta: Actualización de página.

Antes de nada gracias por las molestias pero javi9213, esa función me envia a mi página principal de la web, no actualiza la que estoy y PHPeros yo no estoy hablando de autocompletar si no de una forma que mantenga los datos escritos cuando la pagina es actualizada ya sea mediante F5 o la funcion escrita anteriormente
  #5 (permalink)  
Antiguo 11/12/2014, 09:35
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Actualización de página.

Tendrás que usar PHP o algo, no creo que haya ninguna forma de hacerlo si no.
  #6 (permalink)  
Antiguo 12/12/2014, 01:19
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 9 años, 4 meses
Puntos: 4
Respuesta: Actualización de página.

Como voy ha hacerlo con php o asp si no mando los datos a ningun sitio?
  #7 (permalink)  
Antiguo 12/12/2014, 09:15
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Actualización de página.

Pues con AJAX.
  #8 (permalink)  
Antiguo 12/12/2014, 10:17
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Actualización de página.

Con AJAX es una idea genial, puedes asignar los valores a variables de sesion. Al cargar la pagina asignas el valor de la variable correspondiente al campo.
  #9 (permalink)  
Antiguo 12/12/2014, 14:04
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Actualización de página.

se puede hacer con sesiones
Cita:
<form>
<input type="text" class="f" value="0" />
<input type="text" class="f" value="1" />
<input type="text" class="f" value="2" />
</form>

<script type="text/javascript">
window.addEventListener('load', fnc, false);
window.addEventListener('beforeunload', fnc2, false);

function fnc() {
console.log(localStorage.getItem('sesion'));
}

function fnc2() {
var arr = [];
[].forEach.call(document.querySelectorAll('.f'), function(elem, i) {
arr.push(elem.value)
})
localStorage.setItem('sesion', arr);

}
</script>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #10 (permalink)  
Antiguo 13/12/2014, 10:05
Avatar de javi9213  
Fecha de Ingreso: octubre-2014
Ubicación: Mijas Costa
Mensajes: 7
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Actualización de página.

Buenas, es verdad puede que no me haya explicado bien esto "./" va a inicio, a http://dominio.com, si pones "../otra-pagina.php" o "../pagina-nueva/" se actualizará esa página.

Espero que te siva y perdón por no explicarme bien desde un principio.
  #11 (permalink)  
Antiguo 15/12/2014, 10:07
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 9 años, 4 meses
Puntos: 4
Respuesta: Actualización de página.

Perdón por la tardanza he estado ocupado con otras cosas y javi9213 no te preocupes, funciona pero no recupera los valores, es una función como "document.location.href=document.location.href ;" por lo tanto no consigo nada pero gracias por las molestias.

Ya había pensado en hacerlo en AJAX pero me ahorraba el tener que hacerlo así, IsaBelM, esa es una muy buena idea que hasta ahora no conocía, y recupera el objeto en todos los navegadores a la perfección, pero ahora tengo una pregunta, la función fnc() recupera el array pero como hago para volver a poner los valores en los input? dandole el valor del array a cada uno? o hay otra forma?
  #12 (permalink)  
Antiguo 16/12/2014, 04:57
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Actualización de página.

sí, has de asignar cada elemento del array a su campo correspondiente. es sencillo ya que los elementos están en el mismo orden que los campos
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #13 (permalink)  
Antiguo 16/12/2014, 08:49
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 9 años, 4 meses
Puntos: 4
Respuesta: Actualización de página.

Realmente gracias por tu ayuda.
Un saludo
  #14 (permalink)  
Antiguo 17/12/2014, 08:44
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Actualización de página.

gracias a ti por hacerme pensar

como tengo memoria de pez, he releído el tema y en mi última respuesta hablo de trabajar con los elementos del array. pues bien, en ese punto el código tiene un "error". el valor resultante no es una matriz, es una cadena - habría que trabajar con el método split() - . de tal modo que para convertirla en una matriz, hay que serializarla con JSON.stringify y JSON.parse. el resultante quedaría así

Cita:
window.addEventListener('load', fnc, false);
window.addEventListener('beforeunload', fnc2, false);

function fnc() {
console.log(JSON.parse(localStorage.getItem('sesion')));
}

function fnc2() {
var arr = [];
[].forEach.call(document.querySelectorAll('.f'), function(elem) {
arr.push(elem.value)
})
localStorage.setItem('sesion', JSON.stringify(arr));
}
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #15 (permalink)  
Antiguo 18/12/2014, 01:04
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 9 años, 4 meses
Puntos: 4
Respuesta: Actualización de página.

Ya me di cuenta de que devolvía una cadena, pero improvisé una solución aunque esta es mucho mejor gracias de nuevo.

Etiquetas: formulario, select, valor
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 10:17.