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

coger el valor antes de enviar el form

Estas en el tema de coger el valor antes de enviar el form en el foro de ASP Clásico en Foros del Web. alguien sabria como hacer para conseguir meter en una vble de session el valor de una caja de texto de un formulario antes de enviar ...
  #1 (permalink)  
Antiguo 14/06/2005, 08:27
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 20 años, 2 meses
Puntos: 0
Pregunta coger el valor antes de enviar el form

alguien sabria como hacer para conseguir meter en una vble de session el valor de una caja de texto de un formulario antes de enviar el formulario?
  #2 (permalink)  
Antiguo 14/06/2005, 08:39
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 20 años, 2 meses
Puntos: 0
on submit....

a ver, q me he explicado mal, lo que kiero hacer es algo como esto (y creo q no voy muy desencaminada):
<FORM METHOD=Post ACTION=todo2.asp target="_self" onsubmit=<%session("anios")=request.form("anio")*>
*este request creo q esta mal pq si todavia no he enviado el form no sé pq me da que el request.form no tiene nada...
<select name=anio >
<option value="1990">1990</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="TODO">TODO</option>
</select>
<input type="submit" value="Aceptar" name="Submit" >
</form>
  #3 (permalink)  
Antiguo 14/06/2005, 08:41
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 21 años, 7 meses
Puntos: 0
create una página intermedia en la cual recogas el valor de la caja de texto y lo guardes en la varible de sesion,una vez guardada haces un response.redirect a la direccion donde te apunta el formulario...
recuerda que debes enviarle todas las variables del formulario...
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #4 (permalink)  
Antiguo 14/06/2005, 10:05
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 20 años, 7 meses
Puntos: 1
Hola, en la página todo2.asp, a la cual mandas la información del formulario, al inicio de esta asignar a la variable session el valor del campo de texto del formulario.

session("anios") = request.form("anio")
  #5 (permalink)  
Antiguo 14/06/2005, 11:51
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años, 1 mes
Puntos: 9
Bueno, lo que quieres hacer es imposible, ya que necesitarías que desde javascript se pueda pasar a ASP, y eso no se puede, como te dije antes, es imposible. Lo de la página intermedia sería hacer lo mismo que si enviaras el formulario directamente a la página que lo procesa. Segundo, con Response.Redirect, no podrías hacerlo, ya que no guarda el valor de las variables que recoges en el formulario. Para hacer eso, en la página intermedia (que es en realidad, usando Response.Redirect, la que procesa el formulario) tendrías que guardar todas los valores del formulario en distintas sesiones para luego usarlas.
Si en lugar de usar Response.Redirect usas Server.Transfer ahí si sería posible hacer lo que dice Motki, sin malgastar recursos utilizando sesiones. Y de esa forma la página a la que apunta el formulario sería realmente una página intermedia, y la página a la cual redirigis al usuario con Server.Transfer sería realmente la página que procesa los datos del formulario.
Una pregunta, cual es el objetivo de lograr eso que estás buscando hacer?
Saludos.
Suerte!.
  #6 (permalink)  
Antiguo 14/06/2005, 12:08
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Bueno, pero le dijeron que antes recuperara esos campos, por lo cual me parece valido el comentario, aunque tambien tienes razon, lo de la pagina intermedia en realidad seria muy parecido a ejecutar un proceso antes de recoger los valores.

Si aun asi lo quieres hacer medianet la pagina intermedia y un redirect, con un simple ciclo lo puedes lograr:

Código:
For each item in request.form
  strCampos = strCampos & item & "=" & request.form(item) & "&"
Next

'ejecutas el proceso que necesites aqui
Response.Redirect todo2.asp&"?"&strCampos
despues recogerias esos valores con querystring.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 14/06/2005, 13:40
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Hola!

No se si te entiendo bien, pero con lo que pones de codigo, dice que la misma pagina se llama asi misma y envia los años, entonces lo que tal vez necesitas es simplemente esto:

pagina.asp

<%
anos = response.request("anos")
if anos > "" then
'Haces lo que necesitas
else

%>

<FORM METHOD=Post ACTION=todo2.asp target="_self">
<select name=anio >
<option value="1990">1990</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="TODO">TODO</option>
</select>
<input type="submit" value="Aceptar" name="Submit" >
</form>

<%

end if

%>

Pero la verdad no se realmente que intentas, por otra parte, si ya tienes un valor en session, no te preocupes por ponerlo en el formulario, puedes leerlo en la siguiente pagina directamente de session, lo cual al final de cuentas será mas facil.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #8 (permalink)  
Antiguo 14/06/2005, 14:45
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Código:
<%
anos = response.request("anos")
if anos > "" then
'Haces lo que necesitas
else

%>
claro, y después hacés:

server.write(redirect.form(""))


__________________
...___...
  #9 (permalink)  
Antiguo 14/06/2005, 16:40
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Sorry...

Por la prisa..

Request.Form("anos")

__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
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:42.