Foros del Web » Programando para Internet » Javascript »

problema con setTimeout en firefox

Estas en el tema de problema con setTimeout en firefox en el foro de Javascript en Foros del Web. Hola chicos, tengo un problema bastante tonto pero que me trae de cabeza desde hace horas. Tengo un boton que añade a la base de ...
  #1 (permalink)  
Antiguo 02/12/2008, 11:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 1
Exclamación problema con setTimeout en firefox

Hola chicos, tengo un problema bastante tonto pero que me trae de cabeza desde hace horas.
Tengo un boton que añade a la base de datos un dato introducido y para refrescar la tabla donde se ven los datos necesito recargar la página. Para ello quiero usar la funcion de javascript setTimeout una vez que se pulsa el boton para insertar.

Código:
<input onClick=setTimeout(\"reload()\",1000) type='submit' name='aceptar' value='insertar'>
decir que también he probado con alert (dentro del setTimeout) y tampoco me funciona, sin embargo he probado a sacar la funcion alert del timeout y si me funcionaba ... :___(

Última edición por sarilla; 02/12/2008 a las 12:09
  #2 (permalink)  
Antiguo 02/12/2008, 12:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema con setTimeout en firefox

Antes que nada, siempre coloca los valores de atributos entre comillas (HTML). Además, ¿para qué la contrabarra de escape para la comilla? Y finalmente, ¿por qué en un botón submit?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 02/12/2008, 12:17
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: problema con setTimeout en firefox

bien, te explico: la barra de "escape" \ la pongo porque eso lo imprimo con echo (en php) y por tal de no hacer la concatenacion de cadenas con el " . " pongo la barra de escape que me es mas comodo y en otras ocasiones me ha funcionado, además creo que es correcto hacer eso.

Por otra parte pongo el onClick en el boton submit porque el botón pertenece a un formulario, ¿es correcto no? . Como dije antes, tengo un dato en una caja de texto en ese mismo formulario, entonces al meter el dato en la base de datos necesito que la tabla que sale debajo del formulario se refresque sin necesidad de darle al boton de recargar. De ahí la necesidad de poner el onClick en el boton del formulario ....


Un saludo y gracias
  #4 (permalink)  
Antiguo 02/12/2008, 12:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: problema con setTimeout en firefox

Es que un input type submit envía el formulario... , ¿es eso realmente lo que pretendes hacer? Si no lo es debería ser un input type button.

Además, como te dije, siempre coloca los atributos entre comillas (incluyendo el onclick):
Código html:
Ver original
  1. <input type="submit" onclick="/* Código */" />
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 02/12/2008, 14:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: problema con setTimeout en firefox

jejeje, claro, ya se que con el input type="submit" envía el formulario pero eso es exactamente lo que quiero, enviar el formulario y a su vez llamar a la funcion javascript para que me recarge la página. Aunque el envio del formulario se hace a la misma página no vale para actualizarse puesto que los datos actualizados de la tabla no se muestran.

Lo que venía buscando es lo que os dije al principio del post. Usar la funcion setTimeout para que se recarge la página 1 segundo despues de enviar el formulario para así tener los datos reales visibles.

Un saludo
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:20.