Foros del Web » Programando para Internet » ASP Clásico »

Formulario se envía al recargar página

Estas en el tema de Formulario se envía al recargar página en el foro de ASP Clásico en Foros del Web. Saludos, tengo un problema con un formulario, y es que al recargar la página se envían los datos a la base. Alguien sabe a que ...
  #1 (permalink)  
Antiguo 20/07/2009, 16:49
 
Fecha de Ingreso: marzo-2007
Mensajes: 49
Antigüedad: 18 años, 1 mes
Puntos: 0
Formulario se envía al recargar página

Saludos, tengo un problema con un formulario, y es que al recargar la página se envían los datos a la base. Alguien sabe a que se deba esto? Mi boton lo declaré de esta manera

Código HTML:
<input type="button" value="siguiente" > 
De antemano gracias
  #2 (permalink)  
Antiguo 21/07/2009, 04:39
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Formulario se envía al recargar página

Hola

No parece un problema de ASP

..... ¿No tendrás por algún lado una función js que sumite el form?

Algo como esto

<body onload="funcion();">

El asunto es que dices que es al recargar .....

¿Podrías mostrar el form junto con su js, si es que lo tiene?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 21/07/2009, 05:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 49
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Formulario se envía al recargar página

Este es el js


Código HTML:
function valida_registro(){
	if (form.nombres.value == 0 ) 
		{
    		alert("Su nombre es necesario");
			form.nombres.focus();       
        	return (false);
		}
	
	if (form.a_paterno.value == 0 ) 
		{
    		alert("Sus apellidos son necesarios");
			form.a_paterno.focus();       
        	return (false);
		}
		
		if (form.a_materno.value == 0 ) 
		{
    		alert("Su escuela es necesario");
			form.a_materno.focus();       
        	return (false);
		}
	
	if ((form.email.value.indexOf ('@', 0) == -1)||(form.email.value.length < 5)||(form.email.value.indexOf ('.', 6) == -1)){ 
 			alert("Correo electronico invalido"); 
		
		form.email.focus();
 			return (false); 
		} 
	
	form.submit();
	
}
  #4 (permalink)  
Antiguo 21/07/2009, 06:41
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Respuesta: Formulario se envía al recargar página

lo que deberias hacer es aplicar MVC, pero hay otra manera menos elegante de hacerlo.



te explico.


PAGINA UNO -------------> PAGINA DOS -------------> PAGINA TRES


en uno, tenes el formulario.
en dos tenes el INSERT a la BD
en tres tenes un mensaje de OK.

entonces el usuario llena los datos en UNO, luego estos son enviados a DOS donde son grabados en la BD, y al final de esta instruccion le colocas un response.redirect que te envie a TRES.
entonces si alguien regarga TRES, los datos no se enviaran nuevamente a la BD ya que DOS es la que se encarga de eso.


algo asi


(si es que te entendi bien )

Última edición por Muzztein; 21/07/2009 a las 06:46 Razón: CGC
  #5 (permalink)  
Antiguo 21/07/2009, 07:25
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Formulario se envía al recargar página

Cita:
Iniciado por Muzztein Ver Mensaje
lo que deberias hacer es aplicar MVC, pero hay otra manera menos elegante de hacerlo.
Ahí te has salido, ¿qué es MVC?

Cita:
Iniciado por Muzztein Ver Mensaje
(si es que te entendi bien )
Ya dirá algo
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 21/07/2009, 08:28
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Respuesta: Formulario se envía al recargar página

mvc ?

MODELO VISTA CONTROLADOR

un patron de programacion inventado en 1979, hecho popular 30 años despues

  #7 (permalink)  
Antiguo 21/07/2009, 08:34
 
Fecha de Ingreso: marzo-2007
Mensajes: 49
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Formulario se envía al recargar página

Pero crear tres páginas no es más trabajo? yo lo que quisiera es simplificar los procesos y el desarrollo. De verdad agradezco su tiempo y apoyo.
  #8 (permalink)  
Antiguo 21/07/2009, 08:38
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Respuesta: Formulario se envía al recargar página

Cita:
Iniciado por ric18 Ver Mensaje
Pero crear tres páginas no es más trabajo? yo lo que quisiera es simplificar los procesos y el desarrollo. De verdad agradezco su tiempo y apoyo.
no, no es mas trabajo.
  #9 (permalink)  
Antiguo 21/07/2009, 08:55
 
Fecha de Ingreso: marzo-2007
Mensajes: 49
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Formulario se envía al recargar página

pues bien, seguiré las observaciones que me haces, gracias.
  #10 (permalink)  
Antiguo 21/07/2009, 12:44
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Formulario se envía al recargar página

No lo conocía, así que me puesto a buscar y solo he encontrado esta referencia para asp 3.0 , no la he leido ya que ahora no tengo tiempo, pero parece que fue publicada hace mucho. Muzztein, ¿tienes mas documentación?

Se agradece

EDITO: Pero si lo que siempre hago!! solo que no sabía que se llamará así
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 22/07/2009 a las 05:36
  #11 (permalink)  
Antiguo 22/07/2009, 05:42
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Formulario se envía al recargar página

Hola

Otra manera de hacerlo es usando un campo de control. Este campo será hidden. A grandes rasgos, vendría a ser algo como esto

prueba.asp
Código asp:
Ver original
  1. <%
  2. control = request.form("control")
  3.  
  4. if isempty(control) then
  5. %>
  6. <form method="post" action="prueba.asp">
  7. <input type="hidden" name="control" value="enviado" />
  8. 'Resto de los campos
  9. </form>
  10. <%
  11. else
  12. ' se realiza la consulta
  13. %>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #12 (permalink)  
Antiguo 22/07/2009, 10:19
 
Fecha de Ingreso: marzo-2007
Mensajes: 49
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Formulario se envía al recargar página

Gracias por sus comentarios y respuestas, pondré en práctica algunas de las observaciones.
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 01:44.