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

Formulario hacia 2 paginas

Estas en el tema de Formulario hacia 2 paginas en el foro de ASP Clásico en Foros del Web. Soy nuevo en estos foros y necesito la ayuda de alguien. He creado un formulario que envia los request a una página, la cual redirecciona ...
  #1 (permalink)  
Antiguo 26/06/2002, 01:56
 
Fecha de Ingreso: junio-2002
Mensajes: 8
Antigüedad: 22 años
Puntos: 0
Formulario hacia 2 paginas

Soy nuevo en estos foros y necesito la ayuda de alguien.

He creado un formulario que envia los request a una página, la cual redirecciona hacia otras 2 dependiendo los datos que haya introducido en el 1er form.

Este es el codigo de redirect.asp
<%
response.buffer = true
Dim pagina

If request.form("lista") = "[email protected]" Then
pagina = "ingresoacae.asp"
Else
pagina = "formempresas.asp"
End If


Response.Redirect pagina
Response.End
%>
El redirect funciona bien, pero el problema es que pierdo los datos del form.

Tengo el form así,
<form name="form" method="post" action="redirect.asp">

Los datos llegan al redirect.asp, que es el que me da problemas; los datos se pierden a la hora de redireccionar hacia las paginas que tendrian que procesarlos.

He pensado en hacer la comprobación del request.form en el mismo formulario, ya que si la hago fuera, perdería los datos.

¿Puedo incluir asp en el campo action en vez de directamente la pagina asp a la que quiero que vaya?

He intentado esto, pero no me funciona:

<%
Dim pagina

If request.form("lista") = "[email protected]" Then
pagina = "bd.asp"
Else
pagina = "email.asp"
End If
%>
<form name="form" method="post" action="&pagina">

También lo he intentado con esto
<form name="form" method="post" action="<%pagina%>"> pero nada.

He visto por ahi que en campos de formularios la gente ha puesto variables, pero a mi se me atragantan.

Muchas gracias por anticipado, por si no se nota llevo poquito en esto.
  #2 (permalink)  
Antiguo 26/06/2002, 02:17
 
Fecha de Ingreso: abril-2001
Mensajes: 27
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Formulario hacia 2 paginas

Hola, dos formas de hacer esto que vos queres

en los dos casos tenes que tomar los valores que vienen del post anterior y ....

1) cuando direccionas, a la pagina que direccionas se los envias (todos o los que necesite) por get (o sea, por la url) y esto lo haces simplemente haciendo la cadena donde pones la pagina
Response.redirect pagina &"?valor=" & Request.Form("valor")
y asi.....

2) guardas los datos en cookies con un expire menor a la fecha de hoy, te van a servir en el momento y cuando cierre el navegador se borran.
Este ultimo metodo (con cookies de esta forma o session) es mas que nada para mantener el URL limpio sin parametros visibles.

Ahora, no se si existe la forma de re-postear los datos del formulario, pero esto va a andar bien.

Espero te sirva
Exitos
  #3 (permalink)  
Antiguo 26/06/2002, 05:33
 
Fecha de Ingreso: junio-2002
Mensajes: 8
Antigüedad: 22 años
Puntos: 0
Re: Formulario hacia 2 paginas

Pues muchas gracias.

Al final lo he hecho por url, ya que lo de las cookies no me atrae demasiado.

Funciona bien.El problema lo tengo a la hora de hacer el Response.Redirect hacia la página que toque.

A la hora de hacer el if el asp mira que email se ha introducido (valor "lista") y según cual va hacia bd.asp o email.asp

If request.form("lista") = "[email protected]" Then
pagina = "bd.asp"
Else
pagina = "email.asp"
End If

Si hay más de un email en el campo "lista", sólo va hacia email.asp.

¿Hay alguna forma de que vaya también hacia "bd.asp" aunque el valor "lista" sea, por ejemplo "[email protected], [email protected]"?

Muchas gracias por todo iJanos
  #4 (permalink)  
Antiguo 27/06/2002, 01:04
 
Fecha de Ingreso: abril-2001
Mensajes: 27
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Formulario hacia 2 paginas

El response.redirect tiene una particularidad,
una vez que el interprete de codigo llega hasta ahi, no lee nada mas de lo que hay abajo. El tema es que vos en vez de direccionar a dos paginas, tendrias que usar la sentencia IF en una pagina y decidir que hacer en la misma pagina.

Digamos (ejemplo en el aire)

Si la direccion que me pasan es [email protected]
mando el email

Si la direccion es [email protected], mando el mail y lo agrego en la base de datos

Si la direccion es [email protected], lo agrego en la base de datos.

Select Case Request.Form("email")
case "[email protected]"
mandaremail()
case "[email protected]"
mandaremail()
agregarenbd()
case "[email protected]"
agregarenbd()
End Select

Ahora, para que esto funcione, en la misma pagina tengo que tener las subrutinas que se llaman en este Select para que hagan lo que hacian tus dos paginas.

Sub Mandaremail()
...
End Sub

Sub Agregarenbd()
...
End Sub

Cada una con el codigo (mas o menos igual, o quizas igual) que tenias antes en dos paginas separadas, ya sin tener que andar direccionando tanto, simplemente, pones todas las opciones en la misma pagina.

Esto es un ejemplo bien en el aire. Vos fijate como darle aplicacion en tu sitio.

PD: Otra, Podes usar sentencias If con codigo HTML para cambiar el cuerpo de la pagina haciendo esto.

<%
IF loquesea then
%>

codigo html si loquesea es verdadero

<%
Else
%>

codigo html si loquesea es falso


<%
End IF
%>


Espero te sirva
Exitos
elJano
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 22:23.