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

Ejecutar sub VBScript desde HTML

Estas en el tema de Ejecutar sub VBScript desde HTML en el foro de ASP Clásico en Foros del Web. Quiero ejectar un sub -borra_producto()- en asp (VBScript), desde un enlace que tengo creado. He probado lo siguiente, pero no me funciona: Response.Write("<TD align='center'><a class='Enlace' ...
  #1 (permalink)  
Antiguo 10/06/2004, 04:31
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 10 meses
Puntos: 1
Ejecutar sub VBScript desde HTML

Quiero ejectar un sub -borra_producto()- en asp (VBScript), desde un enlace que tengo creado.
He probado lo siguiente, pero no me funciona:

Response.Write("<TD align='center'><a class='Enlace' href=" & borra_producto(i) & """>Borrar</a></TD></TR>")

Ayuda, por favor
  #2 (permalink)  
Antiguo 10/06/2004, 07:34
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Un poco raro lo que quieres, seguramente se puede implementar de otra forma.
Lo que se me ocurre para eso es que tengas el código de "borra_producto" en una página ASP sola y recibes el parámetro vía requets (request("subIndice"), por ejemplo) y luego redirecciones a la página que invocó. Por cierto tu enlace debería ser <a href="funcion.asp?subIndice='<%=i%>'>Borrar</a>.

Pero si lo piensas, seguramente se podrá implementar más fácil, como si el link fuera mejor una etiqueta que invocara un submit a la misma página, o cosas así.

saludos
  #3 (permalink)  
Antiguo 10/06/2004, 07:47
 
Fecha de Ingreso: enero-2004
Mensajes: 396
Antigüedad: 20 años, 5 meses
Puntos: 0
Estoy mon Myakire, explica un poco mejor lo que quieres para que podamos ayudarte mejor.
  #4 (permalink)  
Antiguo 10/06/2004, 09:08
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 10 meses
Puntos: 1
No redireccionar

La cosa es que no quiero redireccionar a una página distinta, sino que la función esté en la misma página.
Se trata de un texto o una imagen, que quiero que me ejecute la función "borra_producto", que elimina un articulo del carro y me refresque la pantalla para ver que se ha borrado ese articulo.
Si tenéis otra idea?
Gracias ...
  #5 (permalink)  
Antiguo 10/06/2004, 12:50
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
De que debes de volver a llamar al servidor, de eso no te salvas; a menos que el carro lo estes implementando con arreglos en Javascript. En este caso basta con un onclick que llame a esa función.

Pero como supongo lo quieres borrar de la tabla, entonces debes de tener un <form action="lamismapagina.asp" > donde la "mismapagina", obiamente es la misma que presenta el carrito.
Cuando el usuario presione lo que quieres, mandas un javascript que marque un campo oculto con el id del producto a borra. Al refrescarse la página ese request("campooculto"), tendrá valor, entonces borras.

Sería mas a menos así:

lamismapagina.asp

vArticulo = request("IdArt")
if vArticulo <> "" Then
código de la función que borra el artículo
End If
<form action="lamismapagina.asp">
<input type=hidden name=IdArt>
<%conexiones etc ect%>
<%while not rs.eof%>
<img scr="foto.jpg" onclick=document.forms[0].IdArt.value ='<%=rs("IdArt")%>;document.forms[0].submit()' ...>
<%rs.movenext
wend
%>
</form>

Algo por el estilo.

saludos
  #6 (permalink)  
Antiguo 10/06/2004, 13:22
Avatar de tuning_boy  
Fecha de Ingreso: mayo-2004
Ubicación: Madrid
Mensajes: 45
Antigüedad: 20 años
Puntos: 0
hola.

Si te redireccionas a la misma pagina, además de borrarte el producto del carro ya te actualizaria el contenido del carro de paso.

Pasale el codigo del producto misma.asp?code=<%=code%> y al principio de la pagina borras ese producto y ya esta.

__________________
Si te gusta el tuning ...
http://www.comunidad-tuning.com
  #7 (permalink)  
Antiguo 14/06/2004, 02:18
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 10 meses
Puntos: 1
Lo que realmente necesito (con más detalle)

Perdón, pero estado fuera y necestio retomar el tema.

Tengo el siguiente código:

'Para borrar el producto
sub borra_producto(i)
session("producto" & i) = 0
end sub

'Para mostrar el carro
sub muestra_carrito()
precio_total=0
'Creamos la cabecera de la tabla de pedidos
Response.Write("<TABLE cellspacing='0' cellpadding='0'align='center' border='0' class='TABLEProductos'><TR>")
...
if session("num_prod")=0 then
response.write ("<TR><TD colspan='7'>No hay nada añadido al pedido.</TD></TR></TABLE>")
else
for i=1 to session("num_prod")
if session("producto" & i) <> 0 then
'Rellenamos con los valores del pedido
Response.Write("<TR><TD class='TDProductosCodigo'>" & session("producto" & i) & "</TD>")
Response.Write("<TD align='center'>" & "Env" & "</TD>")
Response.Write("<TD align='center'>" & "Kil" & "</TD>")
Response.Write("<TD>" & session("nombre" & i) & "</TD>")
Response.Write("<TD align='right'>" & session("precio" & i) & "</TD>")
Response.Write("<TD align='right'>" & "Total" & "</TD>")
Response.Write("<TD align='center'><a class='Enlace' href=""borrar_producto.asp?linea=" & i & """>Borrar</a></TD></TR>")
Response.Write("<TR><TD HEIGHT='3px' colspan='7'></TD></TR>")
end if
next
Response.Write("<TR><TD HEIGHT='30px' align='right' colspan='5'>Total: </TD><TD align='right'>###</TD><TD></TD></TR>")
Response.Write("<TR><TD HEIGHT='50px' align='right' colspan='5'>Actualizar</TD><TD align='right'>Enviar</TD><TD></TD></TR>")
Response.Write("</TABLE>")
end if
end sub

Donde está en negrita (acción borrar), me llama a una página, que es lo que quiero eliminar, es decir, quiero que me ejecute la función que tengo arriba (borrar) y me actualice la página.

Creo que es descriptivo, pero si necesitáis más detalle me lo comentáis que lo intentaré poner mejor.

Gracias por adelantado.
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 21:00.