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

Sumar una unidad a variable Session cada vez que se envie un Form

Estas en el tema de Sumar una unidad a variable Session cada vez que se envie un Form en el foro de ASP Clásico en Foros del Web. Hola, necesito que al pulsar el botón Enviar del formulario se incremente la variable cont en una unidad, yo lo he hecho en una función ...
  #1 (permalink)  
Antiguo 22/07/2008, 21:00
 
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 9 meses
Puntos: 0
Sumar una unidad a variable Session cada vez que se envie un Form

Hola, necesito que al pulsar el botón Enviar del formulario se incremente la variable cont en una unidad, yo lo he hecho en una función javascript, pero lo único que me hace es incremetar el valor una sola vez y sin pulsar el botón Enviar del formulario. Os muestro el texto:


<head>
<title>prueba.asp</title>

<% Session("cont")=0; %>

<script language="javascript" >
function contador(){
<% Session("cont") = Session("cont") +1; %>
}
</script>

</head>

<body>

<form id="form" action="prueba.asp" method="post">
<label id="foto" for="foto">Nombre foto <% Response.Write(Session("cont")); %>:</label>
<input id="foto" name="foto" type="text" />
<label id="texto" for="texto">Texto <% Response.Write(Session("cont")); %>:</label>
<textarea name="texto" id="texto"></textarea>
<input id="enviar" value="Enviar" type="submit" onclick="contador()"/>
</form>

</body>


Pero sin pulsar el botón ya solo me suma la unidad a cont, y además al pulsar el botón Enviar ,e vuelve a mostrar el formulario pero parece que no hace correctamente la función, no hace nada.

La idea es que al enviar el formulario vuelva a mostrar el form pero con la variable cont + 1
  #2 (permalink)  
Antiguo 22/07/2008, 21:32
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Sumar una unidad a variable Session cada vez que se envie un Form

esto es logico....

se incrementa en 1 cada ves que tu refrescas la pagina.... por que... por que el codigo que tienes de ASP, se ejecuta antes de que el usuario mire el formulario, por lo tanto; se autoincrementa cada ves que mires la pagina

ahora, algo que puede servirte seria pregunta si es metodo POST o GET

si es POST, es que este formulario fue enviado
caso contrario GET, lo mirara por primera ves

entonces tendrias que realizar una pregunta similar

Cita:
si metodo=post entonces
incremento el contador
muestro el formulario con la variable incrementada
sino
no incremento
y muestro el formulario normal
fin
:pensado: que te parece?
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 22/07/2008, 21:40
 
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Sumar una unidad a variable Session cada vez que se envie un Form

Buff, me he quedado loco jeje. No se si lo he entendido bien....en verdad la idea es que al presionar el botón Enviar se incremente el valor de la variable de sesion cont en una unidad, porque en el action del form tengo puesto la misma pagina para que se envie a si mismo el form, no se, lo mismo el planteamiento de lo que quiero hacer está mal, ¿alguna idea?

Gracias!
  #4 (permalink)  
Antiguo 22/07/2008, 21:52
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Sumar una unidad a variable Session cada vez que se envie un Form

, por eso decia....

Cita:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%sub formulario%>
<form id="form" action="prueba.asp" method="post">
<label id="foto" for="foto">Nombre foto <% Response.Write(Session("cont")); %>:</label>
<input id="foto" name="foto" type="text" />
<label id="texto" for="texto">Texto <% Response.Write(Session("cont")); %>:</label>
<textarea name="texto" id="texto"></textarea>
<input id="enviar" value="Enviar" type="submit" onclick="contador()"/>
</form>
<%end sub

if isnull(Session("cont")) then session("cont")=0
if request.ServerVariables("REQUEST_METHOD")="post" then
session("cont") = session("cont")+1
end if

response.Write formulario%>
funcionara????
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 22/07/2008, 21:59
 
Fecha de Ingreso: agosto-2007
Mensajes: 106
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Sumar una unidad a variable Session cada vez que se envie un Form

jeje....sorry....si no es mucha molestia...es posible en Javascript?? no entiendo casi nada de VBScript

de todas formas es asi?????

if (Session("cont") == null)
Session("cont")=0;
if (Request.ServerVariables("REQUEST_METHOD") == "post")
Session("cont") = Session("cont")+1;

¿¿¿¿ Response.Write formulario%> ????

lo que no se es como traducir lo de <%sub formulario%> y <%end sub.....

Gracias!!!

Última edición por jmagago84; 22/07/2008 a las 22:17
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:07.