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

Retroceder una vez

Estas en el tema de Retroceder una vez en el foro de ASP Clásico en Foros del Web. Hola a todo el mundo: A ver, me gustaría saber si en ASP hay alguna función ó método ó lo que fuera que haga lo ...
  #1 (permalink)  
Antiguo 01/06/2005, 04:13
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 2 meses
Puntos: 3
Retroceder una vez

Hola a todo el mundo:

A ver, me gustaría saber si en ASP hay alguna función ó método ó lo que fuera que haga lo mismo que resulta de teclear en JavaScript [history.go(-1)]

Tengo un formulario para que el usuario inserte datos los cuales acabarán introduciéndose en una base de datos de Access. A no ser que el título del artículo tecleado ya exista. Si es así, le aviso para decirle que el título que ha tecleado ya es utilizado por un artículo anterior. Entonces, si hago un Redirect para ir a la página anterior me la carga con el formulario vacío. Yo lo que quiero es el resultado que se obtiene cuando se usa el [history.go(-1)] y así que el contenido de formulario continue y solo haya que corregir lo necesario sin tener que empezar todo de nuevo.

Gracias de antemano a los que respondan.

================================================== ========
zactagnan
  #2 (permalink)  
Antiguo 01/06/2005, 05:19
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
asp->servidor.javascript->cliente. desde asp no puedes controlar eventos en el cliente (esta respuesta me la voy a grabar para que cuando pulse f12 salga automáticamente)
  #3 (permalink)  
Antiguo 01/06/2005, 09:57
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Pues, como te dice trasguskaby no se puede con ASP. Lo tenés que imlementar con javasript:

<%
If existe_el_registro then
%>
El registro ya existe, <a href="javascipt:history.go(-1)">pulse aquí</a> para corregir
<% Else %>
Su registro fu insertado correctamente.
<% End if %>

Aunque varias veces me pasó que al regresar al formulario, éste perdía los datos (y es engorroso cuando tipeaste mucho). Entonces lo solucioné con variables session (a manera de ejemplo...):


formulario.asp:
Código:
<% If Existe = "Si" Then %>
<script>Alert("El titulo ya existe, intente con otro")</script>
<% End if %>
<form..>
<input type="text" name="titulo" value="">
<textarea bame="Texto"><% = Session("Titulo") %></textarea>
</form>
<% Session.Abandon %>
procesa.asp:
Código:
<%
Titulo = Request.Form("Titulo")
Texto = Request.Form("Texto")
' Chequeamos que no exista el título
if no_existe_el_titulo then
' lo insertamos en la BD
else
' existe:
Session("Texto") = Texto
Response.Redirect("formulario.asp?Existe=Si")
End if
%>
Está escrito así nomás, pero es la idea
__________________
...___...
  #4 (permalink)  
Antiguo 02/06/2005, 04:37
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 2 meses
Puntos: 3
Gracias por las respuestas de los Masters del Foro. Al final recurrí al javascript. No obstante quería asegirarme de que no existiera algo desde ASP que fuera lo mismo.
Respecto a lo del ejemplo de las variables de Session, cuando se haga el redirect se volverá a un formulario vacío ¿no? y yo lo que pretendía era volver al formulario con los datos que se teclearon antes de verificar si el título escrito ya existe.

Bueno, pues eso Mila Ezker (osea Mil Gracias) que se dice por aquí.

================================================== ========
zacktagnan
  #5 (permalink)  
Antiguo 02/06/2005, 05:00
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
si has dado un valor a la variable session que está en el área de texto, te saldrá lo que tenga esa variable.
  #6 (permalink)  
Antiguo 02/06/2005, 05:38
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 2 meses
Puntos: 3
Vale pues, lo probaré. Gracias de nuevo
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 14:57.